Top-Themen

Aktuelle Themen (A bis Z)

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

gelöst PDF-Sammelmappe per VBA splitten

Mitglied: TeeKanne

TeeKanne (Level 1) - Jetzt verbinden

19.11.2019, aktualisiert 06:50 Uhr, 260 Aufrufe, 5 Kommentare, 3 Danke

Guten Morgen,

ich suche schon seit längerem nach einer Möglichkeit, eine mehrseitige Sammelmappe (>50 Seiten) in einzelne PDF zu speichern und dies als VBA.
Wenn jemand eine Idee hätte, wäre ich dankbar über Hilfe und Anregungen, Google konnte mir bisher nicht weiter helfen.

Auch wäre interessant das Gegenteil durchzuführen, also diverse PDF mithilfe von VBA zu einer Sammelmappe zusammenzufassen.

Ich bedanke mich im voraus für eure Hilfe!
Mitglied: StefanKittel
19.11.2019 um 07:33 Uhr
Moin,

Schau Dir mal pdftk an.
Das kannst Du über VBA aufrufen.

Es geht per OCX auch direkt mit dem Acrobat-Reader, aber viel aufwendiger.

https://www.pdflabs.com/tools/pdftk-server/

Stefan
Bitte warten ..
Mitglied: Bitboy
19.11.2019 um 09:40 Uhr
Moin,

so vllt: https://it-muecke.de/node/711
Direkt VBA wird wahrscheinlich enorm aufwendig, es ist sinnvoller ein Programm zu finden, dass du mit Parametern aus dem VBA aufrufen kannst.

Grüße
Bitte warten ..
Mitglied: TeeKanne
19.11.2019, aktualisiert um 10:03 Uhr
Vielen Dank für die Anregungen! Leider habe ich nicht die Möglichkeit andere Programme zu installieren und hatte deswegen auf eine halbwegs umsetzbare Lösung gehofft. Trotzdem Danke
Bitte warten ..
Mitglied: colinardo
LÖSUNG 19.11.2019, aktualisiert 20.11.2019
Servus again @TeeKanne,
ich suche schon seit längerem nach einer Möglichkeit, eine mehrseitige Sammelmappe (>50 Seiten) in einzelne PDF zu speichern und dies als VBA.
ist eine Kleinigkeit mit dem Acrobat-COM-Object, das bietet ja schon die entsprechende Methode extractPages() dafür an .
(Quell- und Ziel-Ordner in den Konstanten im Kopf anpassen.)
01.
' ============================================================
02.
' Aufsplitten von allen PDFs eines Ordners in einzelne Seiten
03.
' ============================================================
04.
' Quellordner
05.
Const FOLDER_IN = "D:\quelle"
06.
' Ausgabeordner
07.
Const FOLDER_OUT = "D:\ziel"
08.

09.
' create objects
10.
Set objAcro = CreateObject("AcroExch.App")
11.
Set fso = CreateObject("Scripting.FileSystemObject") 
12.

13.
'  Sicherheitsabfrage
14.
If MsgBox("Der folgende Prozess findet im Hintergrund statt. Dies kann etwas dauern, bitte haben sie etwas Geduld." & vbNewline & vbNewline & "Sollen wir starten?",vbInformation Or vbSystemModal or vbYesNo,"Split PDFs") = vbNo then wscript.quit
15.

16.
' Ausgabeordner erstellen wenn er noch nicht existiert
17.
If Not fso.FolderExists(FOLDER_OUT) Then fso.CreateFolder FOLDER_OUT
18.

19.
' Für jedes File im Quellordner
20.
For Each file In fso.GetFolder(FOLDER_IN).Files
21.
	' wenn es eine *.pdf Erweiterung hat
22.
	If LCase(fso.GetExtensionName(file.Name)) = "pdf" Then
23.
		' Acrobat Objekte erstellen
24.
		Set docAV = CreateObject("AcroExch.AVDoc")
25.
		Set docPD = CreateObject("AcroExch.PDDoc")
26.
		' PDF öffnen
27.
		docAV.Open file.Path,""
28.
		
29.
		' Document Object holen
30.
		Set docPD = docAV.GetPDDoc()
31.
		Set jsDoc = docPD.GetJSObject()
32.
		' Alle Seiten des PDFs verarbeiten
33.
		For p = 0 To jsDoc.numPages - 1
34.
			' Ausgabepfad zusammensetzen
35.
			strFileOut = FOLDER_OUT & "\" & fso.GetBaseName(file.Name) & "_" & Right("00" & p+1,3) & ".pdf"
36.
			' aktuelle Seite extrahieren und speichern
37.
			jsDoc.extractPages p,p,strFileOut
38.
		Next
39.
		' Document schließen
40.
		jsDoc.closeDoc()
41.
		'cleanup
42.
		Set jsDoc = Nothing
43.
		Set docAV = Nothing
44.
		Set docPD = Nothing
45.
	End If
46.
Next
47.
' Acrobat schließen
48.
objAcro.Exit()
49.

50.
MsgBox "Verarbeitung abgeschlossen!",vbInformation
51.
' cleanup
52.
Set fso = Nothing
53.
Set objAcro = Nothing
Code zum Mergen von PDFs gerne gegen Aufwand per PN

-edit- zum Zusammenfassen siehe folgenden Post

Grüße Uwe
Bitte warten ..
Mitglied: colinardo
19.11.2019, aktualisiert 20.11.2019
Als Ergänzung hier noch das Zusammenfassen von mehreren PDFs eines Ordners zu einem einzigen:
01.
' =================================================================
02.
' Zusammenfassen von allen PDFs eines Ordners in ein einzelnes PDF
03.
' =================================================================
04.

05.
' Quellordner
06.
Const FOLDER_IN = "D:\Quelle"
07.
' Ausgabeordner
08.
Const FILE_OUT = "D:\Ziel\merged_document.pdf"
09.

10.
' create objects
11.
Set objAcro = CreateObject("AcroExch.App")
12.
Set fso = CreateObject("Scripting.FileSystemObject") 
13.

14.
' Sicherheitsabfrage
15.
If MsgBox("Der folgende Prozess findet im Hintergrund statt. Dies kann etwas dauern, bitte haben sie etwas Geduld." & vbNewline & vbNewline & "Sollen wir starten?",vbInformation Or vbSystemModal or vbYesNo,"Split PDFs") = vbNo then wscript.quit
16.

17.
' Prüfen ob Datei schon existiert
18.
If fso.FileExists(FILE_OUT) Then
19.
	If MsgBox("Ausgabedatei existiert bereits, möchten sie sie überschreiben?",vbQuestion Or vbYesNo,"Ausgabedatei überschreiben") = vbYes Then
20.
		fso.DeleteFile FILE_OUT
21.
	Else
22.
		MsgBox "Abbruch.", vbExclamation
23.
		WScript.Quit
24.
	End If
25.
End If
26.

27.
Set jsDoc = Nothing
28.

29.
' Für jedes File im Quellordner
30.
For Each file In fso.GetFolder(FOLDER_IN).Files
31.
	' wenn es eine *.pdf Erweiterung hat
32.
	If LCase(fso.GetExtensionName(file.Name)) = "pdf" Then
33.
		If Not jsDoc Is Nothing Then
34.
			jsDoc.insertPages (jsDoc.numPages - 1),file.Path
35.
		Else
36.
			' Acrobat Objekte erstellen
37.
			Set docAV = CreateObject("AcroExch.AVDoc")
38.
			Set docPD = CreateObject("AcroExch.PDDoc")
39.
			' PDF öffnen
40.
			docAV.Open file.Path,""
41.
			' Document Object holen
42.
			Set docPD = docAV.GetPDDoc()
43.
			Set jsDoc = docPD.GetJSObject()
44.
		End If
45.
	End If
46.
Next
47.

48.
If Not jsDoc Is Nothing Then
49.
	jsDoc.saveAs FILE_OUT
50.
	jsDoc.closeDoc()
51.
End If
52.

53.
' Acrobat schließen
54.
objAcro.Exit()
55.

56.
MsgBox "Verarbeitung abgeschlossen!",vbInformation
57.
' cleanup
58.
Set jsDoc = Nothing
59.
Set docAV = Nothing
60.
Set docPD = Nothing
61.
Set fso = Nothing
62.
Set objAcro = Nothing
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel VBA - PDF
Frage von SabineTMicrosoft Office3 Kommentare

Hallo Zusammen, ich habe ein pdf, über welches ich bereits die OCR Texterkennung laufen lassen habe. Jetzt möchte ich ...

Microsoft Office

VBA Excel Tabellenblätter als PDF speichern

gelöst Frage von Florian86Microsoft Office8 Kommentare

Hallo, gib es die Möglichkeit per VBA ein einzelnes Tabellenblatt als PDF zuspeichern. Derzeit speichere ich immer die komplette ...

VB for Applications

Signaturfeld in einer PDF per VBA anlegen

gelöst Frage von TeeKanneVB for Applications1 Kommentar

Hallo, ich stehe vor dem hoffentlich lösbaren Problem, dass ich gerne aus Excel heraus per VBA in einer PDF ...

VB for Applications

Welche Kenntnisse erforderlich für PDF auslesen mit VBA?

Frage von ExcelVBA-InteressentVB for Applications3 Kommentare

Hallo Freunde, ich bin durch meine Google-Suche auf diesen Forum gestoßen. Ich würde gerne PDF-Datei mit einer VBA-Programmierung auslesen ...

Neue Wissensbeiträge
Windows Installation

Windows Install ISO mit übergroßer Install.wim auf FAT32 übertragen

Tipp von Lochkartenstanzer vor 2 TagenWindows Installation9 Kommentare

Moin Kollegen, Viele von euch werden sicher aus praktischen Gründen nicht nur DVDs oder "virtuelle" CD-Laufwerke (Zalman, IODD) zum ...

Datenschutz

Gehe zurück auf Los, ziehe keine 4.000 Mark. E-Privacy (erstmal) gescheitert

Information von certifiedit.net vor 3 TagenDatenschutz

Webbrowser

Firefox 71 verfügbar mit Picture in Picture Funktion

Information von sabines vor 3 TagenWebbrowser2 Kommentare

Die neue Firefox Version 71 unterstützt, zunächst nur für Windows, Picture in Picture. Damit kann ein Video in einem ...

E-Mail
SPF beim Versenden testen
Tipp von StefanKittel vor 5 TagenE-Mail3 Kommentare

Hallo, wenn man einen SPF für einen Exchange, oder anderen Mail-Server, konfigiruert muss man das ja auch testen. Ganz ...

Heiß diskutierte Inhalte
Server-Hardware
Hetzner Dedicated-Server für Terminalserver - RDSH 5 Benutzer gesucht
gelöst Frage von ra-user10Server-Hardware37 Kommentare

Hallo liebe IT-Fachleute! Ich möchte für unseren kleinen Betrieb einen Terminalserver aufsetzen und dafür das Angebot von Hetzner nutzen. ...

E-Business
Brainstorming: Zeiterfassungs- oder gesamtes Abrechnungssystem
Frage von certifiedit.netE-Business23 Kommentare

Guten Abend, alles neu macht der, naja, schon lange nicht mehr, Mai Zum Ende des Jahres, besser zum Beginn ...

Entwicklung
Powershell-Skript und Organisationseinheiten auskludieren
gelöst Frage von informatikkfmEntwicklung13 Kommentare

Hallo, ich habe ein Powershell-Skript, ähnlich wie das folgende. Ich möchte dabei, dass alle Benutzer unterhalb der OUs in ...

Batch & Shell
Batch max. Speicherkapazität einer Variable
Frage von Patrick24Batch & Shell13 Kommentare

Hi, ich schreibe gerade eine Batch wo voraussichtlich sehr große Zahlen in einer Variable gespeichert werden sollen (so ca.120 ...