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, 1887 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
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ä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
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (12)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...