Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1916to1920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

pdf schließen

pdf schließen
30.01.2023 17:45:19
Rolf
Hallo und guten Abend,
ich habe mit
"
Sub OeffnePDF()
Dim Datei As String
Datei = "c:\daten\abc.pdf"
ActiveWorkbook.FollowHyperlink Datei
End Sub
"
eine Pdf-Datei geöffnet.
Kann man diese mit VBA auch wieder schließen?
Schöne Grüße
Rolf

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: pdf schließen
30.01.2023 18:50:16
volti
Hallo Rolf,
hier ein Beispiel.
Du kannst eine Anwendung schließen, wenn Du ihr die Message WM_CLOSE sendest.
Zur Indentifikation benötigst Du allerdings den Caption-Text, also das was im Fenstertitel steht.
Schau mal, was bei Dir dort steht und trage es in die u.a. Sub ein.
Wenn der Fenstertet nicht bekannt ist, kann man diesen (aber mit deutlich mehr Code) mittels einer Schleife ermitteln.
Code:


Option Explicit Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" ( _ ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr Private Declare PtrSafe Function PostMessage Lib "user32" Alias "PostMessageA" ( _ ByVal hwnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, _ ByVal lParam As LongPtr) As Long Private Const WM_CLOSE = &H10 Dim hwnd As LongPtr Sub SchließePDF() 'PDF-Datei schließen hwnd = FindWindow(vbNullString, "Auftragsbestätigung.pdf - Adobe Acrobat Reader (64-bit)") PostMessage hwnd, WM_CLOSE, 0&, 0& 'Outlook schließen End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: pdf schließen
30.01.2023 18:59:01
volti
Nachtrag....
Ist nur eine PDF offen, kann man sie auch alternativ über den Klassennamen schließen....
Hier mal als Minimalversion.
Code:


Private Declare PtrSafe Function FindWindowA Lib "user32" ( _ ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr Private Declare PtrSafe Function PostMessageA Lib "user32" ( _ ByVal hwnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, _ ByVal lParam As LongPtr) As Long Sub SchließePDF() PostMessageA FindWindowA("AcrobatSDIWindow", vbNullString), &H10, 0&, 0& End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: pdf schließen
31.01.2023 09:27:33
Rolf
Hallo Volti,
recht herzlichen Dank für deinen Vorschlag.
Ich werde ihn heute einbauen und den Erfolg (hoffentlich) dann melden.
Ich wünsche dir einen schönen Tag!
Rolf
AW: pdf schließen
31.01.2023 10:06:55
Rolf
Hallo Volti,
leider reicht mein Wissen nicht aus, um deinen Vorschlag effektiv umzusetzen.
Im Ordner "Scanner III" liegen mehrere Pdf-Dateien.
Ich öffne nur eine mit ihrem Namen Na.
Die Datei wird im PDF-XChange Viewer angezeigt.
Diese Anzeige dient nur zur Kontrolle; mit der PDF-Datei wird nicht gearbeitet.
Sie kann sofort wieder geschlossen werden.
Vielleicht kannst du mit diesen Unterlagen mir weiterhelfen.
Ich danke dir auf alle Fälle!
Rolf
Die beiden Adressen:
C:\Users\Rolf H.\Scanner III\RRF_Parameter.pdf
C:\Program Files\Tracker Software\PDF Viewer\PDFXCview
Sub Start()
Na = "RRF_Parameter.pdf"
OeffnePDF Na
End Sub
Sub OeffnePDF(Na)
'Dim address As String
Application.DisplayAlerts = False
Adresse = "C:\Users\Rolf H.\Scanner III\"
pFile = Na
Datei = Adresse & pFile
ActiveWorkbook.FollowHyperlink Datei
UserForm3.Show
Application.DisplayAlerts = True
End Sub

Anzeige
AW: pdf schließen
31.01.2023 10:40:38
volti
Hallo Rolf,
hast Du die beiden Varianten mal ausprobiert?
Für die erste Variante musst Du nachschauen, was im Titeltext der geöffneten PDF-File steht. Das kann ich von hier aus nicht wissen, schon gar nicht, weil ich das Trackerprogramm nicht habe.
Der Name der Datei alleine reicht da nicht.
Falls die zweite Variante das PDF-File nicht schließt, handelt es sich, und das ist auch wahrscheinlich, um eine andere Klasse.
Um die Klasse rauszukriegen, braucht man ein Windowspy-Programm.
Ich habe hier neben meinem EXE-Tool auch (m)eins auf Excelbasis. Könnte ich zur Verfügung stellen.
Gruß
Karl-Heinz
Anzeige
AW: pdf schließen
31.01.2023 12:20:52
Rolf
Hallo Karl-Heinz,
Habe jetzt den PDF-Viewer durch Adobe Acrobat ersetzt.
Mit dem ersten von dir gesendeten Marko lässt sich die PDF-Datei schließen.
Funktioniert Prima!
Danke für deine Hilfe!
Rolf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige