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, 1900 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
Windows Update

Windows Update-Suche nach Win7 Neuinstallation wieder schneller

(2)

Erfahrungsbericht von the-buccaneer zum Thema Windows Update ...

Ä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
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (22)

Frage von Winuser zum Thema Hyper-V ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (16)

Frage von ProfessorZ zum Thema Router & Routing ...