benni01
Goto Top

Mehrere Dateien in einem MACRO abspeichern VBA

Hallo zusammen,

ich habe folgendes Problem und hoffe es kann mir jemand dabei helfen.
Was VBA betrifft bin ich leider Anfänger.
Ich möchte in einem Macro 2 Dateien abspeichern. Die 2 Dateien sollen einen unterschiedlichen Namen haben, am besten vielleicht sogar den Ursprungsnamen.

Das Macro öffnet 2 Dateien als .xlsx und speichert sie automatisch als .PDF

Sub Test2()

Dim cFile, s As String
Dim a As Integer


cFile = Dir("c:\a\*.xlsx", vbDirectory)
Do While cFile <> ""

s = "G:\MOAB1_1\Praktikanten_Doku\Gieringer Benjamin\test\" + cFile

Workbooks.Open s

ActiveCell.FormulaR1C1 = "-"
ChDir "C:\Users\BGIERIN\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\BGIERIN\Desktop\a.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True


Loop

End Sub


er speichert jetzt leider die 2 Dateien die unter C:\a liegen jeweils als a.pdf ab .( Die 2te Datei überschreibt die erste)
Kann man das nicht irgendwie dynamisch schreiben?


Grüße benni

Content-Key: 195317

Url: https://administrator.de/contentid/195317

Printed on: April 24, 2024 at 14:04 o'clock

Member: TsukiSan
TsukiSan Dec 04, 2012 updated at 11:17:10 (UTC)
Goto Top
Hallo benni,

setze deinen Code bitte in die richtige Formatierung, dann liest es sich besser für uns.

Zu deiner Frage:
du hast a als integer deklariert, aber ich ich sehe ihn weiter nicht in deinem Schnipsel.
Ich würde ihn nehmen und wie folgt einsetzen:
Sub Test2()

Dim cFile, s As String
Dim a As Integer

a = 1
cFile = Dir("c:\a\*.xlsx", vbDirectory)  
Do While cFile <> ""  

s = "G:\MOAB1_1\Praktikanten_Doku\Gieringer Benjamin\test\" + cFile  

Workbooks.Open s

ActiveCell.FormulaR1C1 = "-"  
ChDir "C:\Users\BGIERIN\Desktop"  
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\BGIERIN\Desktop\a_" & a &".pdf", Quality:=xlQualityStandard, _   
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True

a = a + 1

Loop

End Sub
Zeile6 und Zeile17:
hilft dir das weiter?

Gruss
Tsuki

[Edit]
Zeile17 berichtigt
[/Edit]
Member: Benni01
Benni01 Dec 04, 2012 at 11:08:05 (UTC)
Goto Top
Hey Tsuki,

leider funktioniert das immer noch nicht..

was bewirkt die stelle - > a_" & 1 &"

ist die 1 eine parameterübergabe und es steht der Wert von a drin?
wenn ja funktioniert es bei mir leider nicht face-sad

Grüße
Member: TsukiSan
TsukiSan Dec 04, 2012 at 11:16:16 (UTC)
Goto Top
Hallo benni,

sorry! ein Fehler von mir!
Ersetze Zeile17 wie folgt, ich ändere das oben ab:
"C:\Users\BGIERIN\Desktop\a_" & a &".pdf", Quality:=xlQualityStandard, _   

Gruss
Tsuki
Member: Benni01
Benni01 Dec 04, 2012 at 11:17:03 (UTC)
Goto Top
danke Tsuki hat geklappt :D

Ich idiot einfach zwischen den 2 Und Zeichen die Variable rein tun.

Thx, ich wusste nicht wie man in VBA den Wert einer variable holt.Jetzt klappt es face-smile

Gruß
Member: TsukiSan
TsukiSan Dec 04, 2012 at 11:18:28 (UTC)
Goto Top
Hallo benni,

na bestens.
Ich habe es oben abgeändert.

Gruss
Tsuki