29. september 2000 - 00:48Der er
7 kommentarer og 1 løsning
makro til at gemme filer i excell
jeg har nu en makro der kan åbne en variabel fil af typen *.dat. Jeg manipulerer lidt med filen og ønsker at gemme den samme sted jeg tog den og med samme navn, men nu som *.xls fil. Hvordan gør jeg det?
Du kan benytte dig af følgende macro: Sub gem() ActiveWorkbook.SaveAs Filename:= _ \"C:\\BIBLIOTEK\\FILNAVN.xls\", FileFormat:=xlNormal, _ Password:=\"\", WriteResPassword:=\"\", ReadOnlyRecommended:=False _ , CreateBackup:=False End Sub
Det er okay, MEN filen gemmes nu som C:\\bla bla\\filnavn.xls. Hvis jeg gør det med 100 filer, får jeg 100 filer der hedder filnavn. Istedet for \"filnavn\" skal jeg have en variabel der afhænger af hvilken fil jeg har åbnet! - jeg skriver her min åbningsmakro: Makro3 Makro \' Makro indspillet 29-09-00 af info \' \' Genvejstast:Ctrl+l
\' \' Set variabelWorkbook = ActiveWorkbook fileToOpen = Application.GetOpenFilename(\"microsoft data Files (*.dat*),(*.dat*)\") If fileToOpen <> False Then MsgBox \"Open \" & fileToOpen End If MyStr = fileToOpen Workbooks.Open FileName:=fileToOpen
nu flytter jeg lidt rundt på data...
og så ønsker jeg at gemme filen med det oprindelige navn, men med .xls EX: 1407.dat makro - 1407.xls
Hvordan får jeg skrevet det variable filnavn ind i gemme-delen?
Faldo, Det giver helt automatisk sig selv. Du skal gøre følgende: Prøv at åbne filen via din macro. Start med at lave en ny macro via record: Vælg \"gem som\" Omdøb dat til xls tryk ok Stop recording.
Hermed kan du bruge macroen til andre filer, som du blot ændre macroen til at hente (filnavn).
Du forstår ikke helt... Hvis jeg gør det bliver alle filerne gemt som \"filnavn.xls\". De får ikke deres oprindelige navn, f.esk 1407.xls. I gemme makroen skal der vel være en variabel der har værdien af den aktuelle fil?
Her er tre løsningsforslag - jeg ved ikke hvorfor man skal skrive Format(...) rundt om tælleren i tilfældet med rene tal i titlerne, men det virker bedst på den måde.
Sub De_skal_nummereres_i_raekkefoelge_og_jeg_ved_hvor_mange_der_er()
For taeller = 1 To 999 \'Her skal du skrive hvor mange åbne filer du har
Den vil jeg godt godtage - det virker faktisk. eneste problem er at min fil bliver gemt som .dat fil (da navn=aktuel fil, som jo er en .dat fil) Altså skal jeg have det gemt som du siger det:ActiveWorkbook.SaveAs FileName:=\"C:\\temp\\\" + navn, men med tilføjelsen at det bliver som navn.xls. Det sker ikke automatisk med den model du har lavet (selvom du har skrevet fileformat=xlnormal. Kan du klare den?
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.