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

Ausgedruckt am: 29.03.2024 um 11:03 Uhr

Mitglied: TsukiSan
TsukiSan 04.12.2012 aktualisiert um 12:17:10 Uhr
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]
Mitglied: Benni01
Benni01 04.12.2012 um 12:08:05 Uhr
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
Mitglied: TsukiSan
TsukiSan 04.12.2012 um 12:16:16 Uhr
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
Mitglied: Benni01
Benni01 04.12.2012 um 12:17:03 Uhr
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ß
Mitglied: TsukiSan
TsukiSan 04.12.2012 um 12:18:28 Uhr
Goto Top
Hallo benni,

na bestens.
Ich habe es oben abgeändert.

Gruss
Tsuki