Überstreichen Sie PDF-Dateien und wandeln Sie sie in doc mit Word um

7

Ich versuche, VBA-Codierung zu verwenden, die ich ziemlich neu bin, um eine Reihe von .doc-Dokumenten aus PDFs (die keine Bilder sind) zu erhalten, das heißt, ich versuche, verschiedene PDF-Dateien zu durchlaufen und zu speichern im MS Word Format. Meine Erfahrung ist, dass das Wort ziemlich gut die PDF-Dokumente liest, die ich habe: Word behält das korrekte Layout der PDF-Datei die meiste Zeit bei. Ich bin mir nicht sicher, ob dies die richtige Wahl ist, um dies anzugehen und ich frage nach einem alternativen Vorschlag - benutze R, wenn möglich.

Wie auch immer, hier ist der Code, den ich gefunden habe hier :

%Vor%

Nachdem ich es im Entwicklerfenster eingefügt habe, speichere ich den Code in einem Modul - & gt; Ich schließe das Entwicklerfenster - & gt; Ich klicke auf den "Macros" Button - & gt; Ich führe das Makro "convertToWord" aus. Ich bekomme den folgenden Fehler in einer Popup-Box: "Sub oder Funktion nicht definiert". Wie behebe ich das? Auch aus irgendeinem Grund, der mir jetzt nicht klar ist, hatte ich einen Fehler bezüglich der Funktion ChangeFileOpenDirectory , die ebenfalls nicht definiert zu sein schien.

Update 27/08/2017

Ich habe den Code wie folgt geändert:

%Vor%

Ich erhalte jetzt keine Fehlermeldung in einer Popup-Box, aber es gibt keine Ausgabe in meinem Arbeitsverzeichnis. Was könnte gerade jetzt falsch sein?

    
John Doe 25.08.2017, 22:30
quelle

2 Antworten

2

Jede Sprache, die PDF-Dateien lesen und Word-Dokumente (das sind XML) schreiben kann, kann dies tun, aber die Konvertierung, die Sie möchten (was Word beim Öffnen der PDF tut), erfordert die Verwendung einer API für die Anwendung selbst. VBA ist Ihre einfache Option.

Die Snippets, die Sie gepostet haben (und meine Beispiele unten), verwenden frühe Bindungs- und Enumerationskonstanten, was bedeutet, dass wir einen Verweis auf die Word-Objektbibliothek benötigen. Das ist bereits für Code festgelegt, den Sie in einem Word-Dokument schreiben. Erstellen Sie ein neues Word-Dokument, und fügen Sie den Code in einem Standardmodul hinzu. (Siehe dieses Excel-Lernprogramm , wenn Sie weitere Details benötigen, die Schritte für unseren Prozess sind die gleichen).

>

Sie können Ihr Makro über den VB-Editor (über die Schaltfläche Ausführen) oder über das normale Dokumentfenster ausführen (klicken Sie in Word 2010-2016 auf der Registerkarte Ansicht auf die Schaltfläche Makros). Speichern Sie Ihr Dokument als eine DOCM-Datei, wenn Sie das Makro erneut verwenden möchten, ohne den Code erneut einzurichten.

Jetzt für den Code!

Wie in den Kommentaren angegeben, ist Ihr zweites Snippet gültig, wenn Sie nur sicherstellen, dass Ihre Ordnerpfade mit einem umgekehrten Schrägstrich "\" enden. Es ist immer noch nicht toller Code, nachdem Sie das behoben haben, aber das bringt Sie zum Laufen.

Ich gehe davon aus, dass Sie die Extrameile gehen und eine gut geschriebene Version davon haben wollen, die Sie später wieder verwenden oder erweitern können. Der Einfachheit halber werden wir zwei Prozeduren verwenden: die Hauptkonvertierung und eine Prozedur zum Unterdrücken des PDF-Konvertierungswarnungsdialogs (gesteuert von der Registrierung).

Hauptverfahren:

%Vor%

Registrierungseinstellungsfunktion:

%Vor%     
AjimOthy 03.09.2017, 18:11
quelle
1

Wie andere gesagt haben, scheint das Problem hauptsächlich bei dem Pfad & amp; Dateiname. Hier ist die zweite Version des Codes, die Sie mit einigen Änderungen veröffentlicht haben.

Leider wird eine Warnmeldung angezeigt, und DisplayAlerts wird auf false gesetzt, um sie nicht zu unterdrücken. Wenn Sie jedoch das Kontrollkästchen "Diese Meldung nicht mehr anzeigen" beim ersten Start nicht aktivieren, wird das Popup für jede Datei nicht fortgesetzt.

%Vor%     
J. Garth 02.09.2017 06:35
quelle

Tags und Links