Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

PDF anzeigen und wieder schließen

Forumthread: PDF anzeigen und wieder schließen

PDF anzeigen und wieder schließen
29.04.2022 22:46:14
Felix
Hallo an euch vba-Freaks,
ich tüftle gerade an einem Problem, für das ich eine Lösung gefunden habe, auf die ich aber nicht stolz bin und ich das eigentlich gerne anders lösen würde:
Situation:
Ich habe eine Liste an PDF-Dateien, die ich öffne. Dateiname, Datum etc. wird in eine Eingabemaske übertragen. Manche Daten aus der PDF muss ich händisch eintragen. Deswegen arbeite ich mit geteiltem Bildschirm, Links Excel/ Rechts PDFs. Über einen Knopf möchte ich dann den Datensatz abspeichern, die Datei umbennen und in einen neuen Ordner verschieben.
Problemstellung: Die Datei muss vor dem verschieben geschlossen werden (klar :D) aber wie kann ich das bewerkstelligen?
Ich bin auf die Lösung gekommen den AcrobatReader per Shell-Anweisung zu killen, aber dann wird beim neuöffnen jeder Datei die Zeit vergeudet um die Anwendung zu Starten. Außerdem wird beim Neuöffnen im Vollbildmodus geöffnet, wobei ich eigentlich im Splitscreen arbeiten will ( Excel links und PDFs rechts) und ich muss neu Ausrichten.
Ich habe eine ganze Weile nach Möglichkeiten gesucht den Acrobat Reader zu kontrollieren und nur eine Datei/Registerkarte zu schließen, bin aber nicht dahintergekommen.
AppActivate und dann SendKeys ^w geht. Beim nächsten FollowHyperlink startet der Acrobat Reader aber wieder im Vollbildmodus.
Nach vielem Suchen habe ich dann den Adobe Reader deinstalliert und Firefox als Standard PDF Viewer eingestellt. Mit Application.FollowHyperlink kam ich bei jedem öffnen zu einer Fehlermeldung, welche sich nicht abstellen lässt. Siehe Bild:
Userbild
Meine Endgültige Lösung war dann über die Shell Firefox direkt den Link zu übergeben und öffnen zu lassen. Damit konnte ich die Fehlermeldung umgehen. Das Interessante beim Anzeigen in Firefox ist, dass sich die Datei im Speicherort verschieben lässt während sie angezeigt bleibt.
Jetzt bin ich gespannt, ob ihr dafür noch elegantere Lösungsideen habt, wie ich die Datei mir schnell anzeigen lassen kann und per Makro schließen kann.
Viele Grüße
Felix
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF anzeigen und wieder schließen
29.04.2022 23:20:06
mumpel

wobei ich eigentlich im Splitscreen arbeiten will
Wie wäre es mit zwei Monitoren?
AW: PDF anzeigen und wieder schließen
30.04.2022 08:28:42
Felix
Hallo Mumpel,
Danke für deine Idee, könnte ich in der Arbeit auch machen, da ich aber omentan mit dem Laptop unterwegs bin ist das leider keine Option.
Gruß Felix
Anzeige
AW: PDF anzeigen und wieder schließen
29.04.2022 23:24:19
onur
"Die Datei muss vor dem verschieben geschlossen werden (klar :D) " ? Warum? Statt Verschieben einfach "Speichern unter" im anderen Ordner und dann löschen.
AW: PDF anzeigen und wieder schließen
30.04.2022 08:26:53
Felix
Hallo onur,
danke, ja daran hab ich auch danach noch gedacht. Ich hatte in meinem Kopf nur die Frsge, ob es eine bessere Möglichkeit gibt PDFs per vba zu steuern. Aber dann bin ich wohl an den Grenzen der vba-Möglichkeiten angekommen.
Gruß Felix
Anzeige
AW: PDF anzeigen und wieder schließen
30.04.2022 08:38:58
Oberschlumpf
Hi,
Zitat:"Aber dann bin ich wohl an den Grenzen der vba-Möglichkeiten angekommen."
uih uih uih!
a) du lehnst dich aber ganz schön weit aus dem Fenster raus!
b) und...pass auf, dass du nich rausfällst...aus dem Fenster! Denn du bist eher an die Grenzen deiner VBA-Kenntnisse angekommen, weil, siehe hier:
https://analystcave.com/vba-filesystemobject-fso-in-excel/vba-movefile/
Unabhängig davon ist aber auch onur's Vorschlag eine sehr elegante Lösung.
Ciao
Thorsten
Anzeige
AW: PDF anzeigen und wieder schließen
30.04.2022 10:13:56
Felix
Hallo Thorsten, ja da habe ich mich wohl falsch ausgedrückt. ich denke ich werde es mit onurs Vorschlag umsetzen.
Die Grenzen, die ich meinte beginnen da wo es in den PDF-Viewer geht, bzw die Fähigkeitden PDF Viewer per VBA zu kontrollieren ist mir nicht gegeben.
Danke auf jeden Fall für deinen Hinweis.
Gruß Felix
Anzeige
AW: ralf Vertr. Ordner
30.04.2022 08:23:58
Felix
Hallo ralf,
der Vertr. Ordner hat da leider nichts gebracht. Ich kann mir auch nicht erklären, wieso, aber zu der Fehlermeldung hat er mir leider nicht helfen können.
Ist es nicht auch interessant, das Adobe bei FollowHyperlink verwendet wird, wenn das Standardprogramm im System Firefox ist?
Gruß Felix
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

PDF anzeigen und schließen: Effiziente Methoden für Excel-Nutzer


Schritt-für-Schritt-Anleitung

  1. PDF-Datei öffnen: Du kannst eine PDF-Datei direkt aus Excel öffnen, indem du folgenden VBA-Code verwendest:

    Sub PDF_Oeffnen()
       Dim pdfDatei As String
       pdfDatei = "C:\Pfad\zur\deiner\Datei.pdf"
       Application.FollowHyperlink pdfDatei
    End Sub

    Dieser Befehl öffnet die PDF im Standard-PDF-Viewer, z.B. Adobe Reader oder Firefox.

  2. PDF schließen: Um eine PDF-Datei zu schließen, kannst du den Acrobat Reader über eine Shell-Anweisung beenden. Alternativ kannst du auch die SendKeys-Methode verwenden:

    Sub PDF_Schliessen()
       AppActivate "Adobe Acrobat Reader"
       SendKeys "^w"
    End Sub

    Beachte, dass diese Methode den Acrobat Reader im Adobe Reader Vollbildmodus öffnet.

  3. Speichern unter: Wenn du die Datei verschieben möchtest, kannst du die Datei speichern unter-Methode verwenden, anstatt die Datei zu schließen:

    Sub PDF_Verschieben()
       Dim zielOrdner As String
       zielOrdner = "C:\Neuer\Ordner\"
       FileCopy "C:\Pfad\zur\deiner\Datei.pdf", zielOrdner & "Datei_neu.pdf"
       Kill "C:\Pfad\zur\deiner\Datei.pdf" ' Löscht die alte Datei
    End Sub

Häufige Fehler und Lösungen

  • Fehlermeldung beim Öffnen von PDFs: Wenn du beim Öffnen von PDF-Dateien mit Application.FollowHyperlink eine Fehlermeldung erhältst, überprüfe die Einstellungen deines Standard-PDF-Viewers. Manchmal kann es helfen, den Speichort zu den vertrauenswürdigen Quellen hinzuzufügen.

  • PDF bleibt im Vollbildmodus: Wenn deine PDF-Dateien im Adobe Reader Vollbildmodus geöffnet werden, kannst du versuchen, die Fenstergröße des Readers durch zusätzliche Befehle in VBA zu steuern, um dies zu verhindern.


Alternative Methoden

  • Verwendung von Firefox: Eine interessante Methode, die einige Benutzer gefunden haben, ist, PDFs direkt mit Firefox zu öffnen. Dies ermöglicht es, die Datei an ihrem Speicherort zu verschieben, während sie angezeigt wird, ohne sie vorher schließen zu müssen.

  • Zwei Monitore: Wenn du mit mehreren Monitoren arbeitest, kannst du Excel auf einem Bildschirm und deinen PDF-Viewer auf dem anderen Bildschirm platzieren, was die Handhabung erleichtert.


Praktische Beispiele

  • Öffnen und Schließen von PDFs in einem Makro:

    Sub PDF_Oeffnen_Schliessen()
       Call PDF_Oeffnen
       ' Hier kannst du weitere Aktionen ausführen
       Call PDF_Schliessen
    End Sub
  • PDF in Excel importieren: Wenn du Daten aus PDFs in Excel importieren möchtest, kannst du die Funktion Adobe Reader PDF to Excel verwenden, um Tabellen und Daten zu extrahieren.


Tipps für Profis

  • Verwende die API: Wenn du regelmäßig mit PDFs arbeitest, könnte es sich lohnen, die API von Adobe zu nutzen, um eine robustere Lösung zu entwickeln.

  • Makros optimieren: Optimierte Makros können dir viel Zeit sparen. Überlege, ob du häufig genutzte Funktionen in ein einziges Makro zusammenfassen kannst.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass ich die PDF-Datei im richtigen Modus öffne?
Du kannst den Modus in den Einstellungen deines PDF-Viewers anpassen oder sicherstellen, dass du die Anwendung direkt ohne Vollbild öffnest.

2. Was kann ich tun, wenn meine PDFs nicht richtig in Excel angezeigt werden?
Überprüfe die Einstellungen deines Standard-PDF-Viewers und stelle sicher, dass du die richtigen Dateipfade in deinem VBA-Code angibst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige