04. maj 2011 - 16:28Der er
11 kommentarer og 1 løsning
Sætte directory
Hej
Hvordan sætter jeg det directory som der automatisk åbnes filer i. Eksempel som ikke kan kombileres: SetDirectory:='C:\hest';
Jeg skal bruge det fordi der er en lang sti og et langt filnavn, hvilket kommandoen Excel.Workbooks.Open(.....) desværre ikke supporterer, så den ikke kan åbne filen.
Problemet er at kald Excel.Workbooks.Open(Str2) fejler når Str2 bliver for lang, fordi Excel filerne jeg skal læse ligger dybt i directory strukturen på serveren. Jeg vil forsøge at sætte default directory til det directory hvor filerne ligger, så Str2 kun bliver filnavnet. Alternativt kan jeg kopiere filerne til eks. C-drevet og læse dem derfra med Excel.Workbooks.Open(Str2), men det virker noget knoklet.
Først skal du droppe de statiske strenge. Der er ingen der bruger string[<et eller andet tal mellem 1 og 255>] længere; bare skriv "string;" Så er du i alt fald ikke bundet af grænser der.
Den anden ting er at du kan arbejde med relative stier. Skift til kataloget og skift relativt i forhold til det. Så slipper du for lange trælse stier.
Jeg gør præcis som du skriver, problemet er at filerne ligge så dybt i directory strukturen på serveren at Excel.Workbooks.Open(aFilename); ikke kan håndtere det. Jeg har valgt den alternetive løsning at lade mit program kopiere Excel filen til C: drevet og derefter bruge Excel.Workbooks.Open(aFilename); fra C: drevet. Det tager måske 5 sek. ekstra de få gange om ugen den funktion bruges (Åbner flere Excel filer), så det betyder ikke noget.
Hvis data ligger på et netværksdrev kan du måske mappe et drev op som starter inde i træet. Det afhænger naturligvis af graden af frihed på nettet. Der findes jo den irriterende persontype, kaldet netværksadministratorer, som ikke mener at nogen anden end dem (og især ikke jeg) skal have rettighed til noget som helst :-)
God ide, det havde jeg ikke lige tænkt over, har fundet en stump kode som kan mappe et drev, prøver det.
/Peter
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.