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

Acrobat schließen

Acrobat schließen
Dackweiler
Hallo Zusammen,
ich habe bei Nebumuk folgenden Code zum Schließen von Arcobat gefunden.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As  _
String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal Hwnd As Long,  _
ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Sub beenden()
PostMessage FindWindow(vbNullString, "Adobe Reader - [A]"), &H10, 0&, 0&
End Sub
Was muß ich tun um ihn für andere (beliebige) PDF-Reader anwenden zu können.
Teilweise gibt es unterschiedliche Programme auf den PCs auf denen das Excel-Programm laufen soll.
Danke für Eure Hilfe
Günter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Acrobat schließen
07.10.2009 21:37:57
Anton
Hallo Günter,
probier sowas:

Const MAX_FILENAME_LEN = 260
Private Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" _  
  (ByVal lpFile As String, _  
  ByVal lpDirectory As String, _  
  ByVal lpResult As String) As Long    
Sub PDF_Reader_schliessen()  
  Dim i As Long, s2 As String    
  Const sFile = "C:\Programme\Adobe\Acrobat 7.0\Help\DEU\Reader.pdf"   'anpassen
  If Dir(sFile) = "" Then  
    MsgBox "Datei nicht gefunden!", vbCritical
    Exit Sub  
  End If  
  s2 = String(MAX_FILENAME_LEN, 32)
  i = FindExecutable(sFile, vbNullString, s2)
  If i > 32 Then  
    sProgramm = Left$(s2, InStr(s2, Chr$(0)) - 1)
    sProgramm = Mid(sProgramm, InStrRev(sProgramm, "\") + 1)
    Programm_killen sProgramm
  Else
    MsgBox "pdf Dateien ist keine Anwendung zugeordnet!"
  End If  
End Sub  
Function Programm_killen(strProgramm)
  Set objWMIService = GetObject("winmgmts:" _  
    & "{impersonationLevel=impersonate}!\\.\root\cimv2")
  Set colProcessList = objWMIService.ExecQuery _
    ("Select * from Win32_Process Where Name = '" & strProgramm & "'")
  For Each objProcess In colProcessList  
    objProcess.Terminate
  Next
End Function  

mfg Anton
Anzeige
AW: Acrobat schließen
09.10.2009 17:46:55
Günter
Hallo Anton,
nachdem ich die Variablen deklariert habe funktioniert es.
Danke
Günter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige