Problemstellung:
Nur für 32Bit Office Versionen
Wie kann ich den Dateipfad des assozierten Programms einer Datei finden?
Lösung:
Folgenden Code in ein neues Modul kopieren.
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
Aufruf z.B.:
MsgBox FindAssociatedProgram("D:\users\Daten\Vorlagen\Handkassenbeleg.doc")
Ergebnis:
Ähnliche Artikel
Weiterlesen...