Avatar billede pauke Nybegynder
27. marts 2007 - 09:55 Der er 15 kommentarer og
1 løsning

At gemme på drev med forskellige navne (H:,J:,I: etc.)

Hej eksperter.
For mit arbejde skal jeg lave en macro som kan gemme en excel fil i en folder (Folder1) på et drev som hos mig hedder: "Reporting on 'ntab17'(H:)". Jeg bruger følgende formel:

ChDir _
    "H:\Folder1"
    ActiveWorkbook.SaveAs Filename:=newFile

Denne macro virker fint hos mig, men problemet er at hos nogle af de andre i min afdeling hedder drevet f.eks.: "Reporting on 'ntab17'(J:)" eller "Reporting on 'ntab17'(I:)" så hos disse kolleger virker min macro jo ikke.

Har nogen en løsning på dette problem? Jeg er noget nær nybegynder i Visual Basic, så jeg vil meget gerne have tingene skåret ud i pap! -Mange tak.
Avatar billede thesurfer Nybegynder
27. marts 2007 - 10:39 #1
Der er faktisk en simpel måde at gøre det på..

Indsæt en fil, som bruges som kontrol fil..

Eksempel:

I drevets rod, findes filen "reportdrev.txt".

- Løb samtlige dreve igennem
- Du checker så om "H:\reportdrev.txt" eksisterer.
- Hvis den gør det, gem på drevet.

:-)
Avatar billede thesurfer Nybegynder
27. marts 2007 - 10:41 #2
Du skal naturligvis udskifte "H:\" med de drev du er nået til, i loopen.. :-)

Alternativt kan du hardcode IF-sætninger for alle drev.. men det anbefales at bruge en loop..

Jeg programmerer ikke i VBA som bruges i Excel, så jeg skal ikke kunne se om der er begrænsninger på FileSystemObject (FSO), som du skal bruge..
Avatar billede pauke Nybegynder
27. marts 2007 - 14:53 #3
Hej thesurfer
Som sagt er jeg helt grøn, så jeg forstår ikke så meget af hvad du skriver. Jeg ved f.eks. ikke hvad drevets rod er og hvordan man laver en loop. Hvis nu jeg skulle bruge IF sætninger, kan du så ikke lige give mig et eksempel? Jeg tænkte også på om man istedet kan få en msg box til at poppe op, hvori brugeren skal skrive hvilket bogstav der hører til drevet for denne bruger (altså H for mig)...
Avatar billede word-hajen Nybegynder
27. marts 2007 - 22:04 #4
Som jeg umiddelbart kan se det, er det samme sted, men jeres drev er mappet med forskelligt. Hvis I har en it-administrator eller i den stil, kan han sikkert give dig den helt rigtige sti (som altså ikke indeholder H:,J: eller andre drev-bogstaver).

Lad os sige, at stien er:

\\vores-server.dk\reporting

Medmindre der er en helt anden grund til at skifte folder, som jeg ikke kan se af det ovennævnte, vil jeg foreslå, at du i stedet laver en streng med filplacering og filnavnet strikket sammen i ét, f.eks.:

strFileName="\\vores-server.dk\reporting\LilleExcelFil.xls"

Udelad derefter ChDir og nøjes blot med:

ActiveWookbook.SaveAs Filename:=strFileName
Avatar billede thesurfer Nybegynder
28. marts 2007 - 10:39 #5
Jeg vil sige, at word-hajens forslag ser godt ud.. brug reference direkte til serveren, i stedet for et drev-bogstav, der er tilknyttet/forbundet/refererer til serveren..

Så springe det trin over..

Hvis du vil, kan jeg kigge på noget user-interaction ("spørg brugeren") og loop/enumerering af dreve, i løbet af dagen..
Avatar billede pauke Nybegynder
02. april 2007 - 09:34 #6
Hej word-hajen og thesurfer

Undskyld at jeg er lidt langsom, men jeg bliver lige nødt til at lave en date med min VBA-ekspert veninde før jeg kan forstå hvad I skriver, så jeg håber at I har tålmodighed til at jeg vender tilbage.
Avatar billede thesurfer Nybegynder
17. april 2007 - 21:14 #7
Spiller hun kostbar...? ;-)
Avatar billede pauke Nybegynder
17. april 2007 - 23:44 #8
Hov, undskyld, jeg gik faktisk og ventede på svar fra dig, men mit spørgsmål er åbenbart forsvundet i den blå luft, det er jeg altså ked af! Jeg har fået løst problemet, man jeg kan ikke helt lure hvordan man giver de dersens point til dig, kan du ikke lige fortælle mig hvordan det fungerer?
Avatar billede thesurfer Nybegynder
18. april 2007 - 00:04 #9
Jeg lægger et svar.. derefter markerer du mit navn i boksen til venstre, og til sidst klikker du på Accepter-knappen..
Avatar billede thesurfer Nybegynder
18. april 2007 - 00:05 #10
Hmm.. Hvem af os skal have points..? :-)

Dine spørgsmål ligger under "Konto": http://www.eksperten.dk/konto.phtml

Direkte link til oprettede spørgsmål:
http://www.eksperten.dk/list.phtml?spm_creator=pauke&status_1=on&status_2=on&status_3=on&status_4=on
Avatar billede pauke Nybegynder
18. april 2007 - 08:41 #11
thesurfer, har du fået dem nu?
Avatar billede word-hajen Nybegynder
18. april 2007 - 09:18 #12
Jeg smider lige et svar i tilfælde af, at det er min løsning, du har brugt. Måske har du kombineret vores svar - og så kan du dele pointene mellem os.
Avatar billede pauke Nybegynder
18. april 2007 - 11:14 #13
Hej wordhajen,
det var thesurfer der hjalp mig, og fik derfor pointsene, jeg regner med at det er sådan det fungerer. Men tak for dit indslag.
Avatar billede thesurfer Nybegynder
19. april 2007 - 00:04 #14
pauke> Ok, så skal du lige markere mit navn i boksen til venstre, og derefter klikke på Accepter-knappen.. :-)
Avatar billede pauke Nybegynder
19. april 2007 - 09:33 #15
thesurfer, har du fået dem nu?
Avatar billede thesurfer Nybegynder
19. april 2007 - 11:04 #16
Yeps.. :-)

Og der står "Accepteret svar" ved den lodrette blå linie :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester