Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1488to1492
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

Zugehöriges Programm finden

Zugehöriges Programm finden
15.04.2016 17:03:10
Rainer

Guten Tag,
meine Anwendung soll bei der Konfiguration herausfinden ob der Acrobat-Reader auf dem aktiven Computer installiert ist, und den Pfad angeben. Die Funktion "FindAssociatedProgram" habe ich im Internet gefunden. Die "Sub AcroReader_finden()" hab ich gebastelt um die Funktion zu testen. Das Problem ist, "WINWORD.EXE" wird von der Funktion korrekt ausgegeben nicht aber "AcroRd32.exe". Beide .EXE sind auf meinem PC vorhanden: C:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE und C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe
PDF-Dateien und Word-Dateien öffnen funktioniert problemlos. Was mache ich falsch oder was habe ich übersehen? Hier die Codes mit Bitte um Hilfe. Vielen Dank schon mal.
Public Declare Function FindExecutable _
Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal strBuffer As String) As Long

Public Function FindAssociatedProgram(ByVal sFile As String) As String
Dim sBuffer As String
Dim sDir As String
Dim nRet As Long
sDir = Left(sFile, InStrRev(sFile, "\"))
sBuffer = Space(255)
nRet = FindExecutable(sFile, sDir, sBuffer)
If nRet > 32 Then
If InStr(sBuffer, vbNullChar) > 1 Then
FindAssociatedProgram = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
End If
End If
End Function

Sub AcroReader_finden()
Dim sFile As String
sFile = "AcroRd32.exe"
If MsgBox("JA = Acorbat-Reader" & Chr(13) & "Nein = MS-Word", vbQuestion + vbYesNo, "Programm finden") = vbNo Then
sFile = "WINWORD.EXE"
End If
MsgBox FindAssociatedProgram(sFile)
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugehöriges Programm finden
15.04.2016 17:13:42
Nepumuk
Hallo,
du musst eine PDF-Datei angeben um das mit ihr assoziierte Programm zu finden.
Gruß
Nepumuk

AW: Zugehöriges Programm finden
15.04.2016 17:16:39
snb
Verwende
Sub M_snb()
ActiveWorkbook.FollowHyperlink "G:\OF\beispiel.pdf"
End Sub

AW: Zugehöriges Programm finden
15.04.2016 17:59:03
Rainer
Danke Nepumuk!
Jetzt funktioniert es so wie gewollt. Allerdings genügt es nicht, nur die Datei anzugeben es muss der gesamte Pfad in die Variable 'sFile'. Warum das mit WinWord.exe dennoch funktioniert werde ich vielleicht in einem späteren Leben begreifen. Das was ich brauche klappt hervorragend. Ich bin sehr zufrieden. Vielen herzlichen Dank.

Anzeige
AW: Zugehöriges Programm finden
16.04.2016 17:03:44
Rainer
Vielen Dank euch. Dass ich eine PDF-Datei statt AcroRd32.exe angeben sollte hatte ich auch schon erfolglos probiert. Der Trick ist, Datei allein genügt nicht zusammen mit dem kompletten Pfad funktioniert das Ganze.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige