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:
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