Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Mehrere Dateien in einem MACRO abspeichern VBA

Frage Entwicklung Basic

Mitglied: Benni01

Benni01 (Level 1) - Jetzt verbinden

04.12.2012 um 11:42 Uhr, 1895 Aufrufe, 5 Kommentare

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
Mitglied: TsukiSan
04.12.2012, aktualisiert um 12:17 Uhr
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:
01.
Sub Test2() 
02.
 
03.
Dim cFile, s As String 
04.
Dim a As Integer 
05.
 
06.
a = 1 
07.
cFile = Dir("c:\a\*.xlsx", vbDirectory) 
08.
Do While cFile <> "" 
09.
 
10.
s = "G:\MOAB1_1\Praktikanten_Doku\Gieringer Benjamin\test\" + cFile 
11.
 
12.
Workbooks.Open s 
13.
 
14.
ActiveCell.FormulaR1C1 = "-" 
15.
ChDir "C:\Users\BGIERIN\Desktop" 
16.
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
17.
"C:\Users\BGIERIN\Desktop\a_" & a &".pdf", Quality:=xlQualityStandard, _  
18.
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ 
19.
True 
20.
 
21.
a = a + 1 
22.
 
23.
Loop 
24.
 
25.
End Sub 
26.
 
Zeile6 und Zeile17:
hilft dir das weiter?

Gruss
Tsuki

[Edit]
Zeile17 berichtigt
[/Edit]
Bitte warten ..
Mitglied: Benni01
04.12.2012 um 12:08 Uhr
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

Grüße
Bitte warten ..
Mitglied: TsukiSan
04.12.2012 um 12:16 Uhr
Hallo benni,

sorry! ein Fehler von mir!
Ersetze Zeile17 wie folgt, ich ändere das oben ab:
01.
"C:\Users\BGIERIN\Desktop\a_" & a &".pdf", Quality:=xlQualityStandard, _ 
Gruss
Tsuki
Bitte warten ..
Mitglied: Benni01
04.12.2012 um 12:17 Uhr
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

Gruß
Bitte warten ..
Mitglied: TsukiSan
04.12.2012 um 12:18 Uhr
Hallo benni,

na bestens.
Ich habe es oben abgeändert.

Gruss
Tsuki
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Microsoft Office
Excel VBA "SVERWEIS" über mehrere Dateien in Ordner (2)

Frage von Acht85 zum Thema Microsoft Office ...

Linux Tools
CURL mehrere Dateien vom ftp-Server herunterladen (10)

Frage von highpriest zum Thema Linux Tools ...

Windows 7
gelöst Mehrere Dateien in Windows umbenennen mit Batchjob (4)

Frage von Jeduja zum Thema Windows 7 ...

Heiß diskutierte Inhalte
DSL, VDSL
gelöst DSL 200m verlängern (15)

Frage von Angela44 zum Thema DSL, VDSL ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...