Wie bekomme ich das ( mit shell? ) unter VBA hin, ohne die dazugehörigen Programme Adobe und Corel erst als Pfad vorgeben zu müssen?
Public Declare Function FindExecutable Lib "shell32.dll" Alias _
"FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long
Public Function AnwendungFuerDatei(ByVal a_Datei As String) As String
'Datei: Pfad + Dateinamen einer existierenden Datei
Dim Pfad As String
Pfad = Space(256)
Call FindExecutable(a_Datei, vbNullString, Pfad)
If "" <> Pfad Then
Pfad = Trim(Left(Pfad, InStr(Pfad, vbNullChar) - 1))
End If
AnwendungFuerDatei = Pfad
End Function
Sub startDatei()
Dim s1 As String, s2 As String, s3 As String, n As Long
s1 = "D:\Spiele\SkartArt\MaeuseSkat\Skatliste.pdf"
s2 = AnwendungFuerDatei(s1)
If "" <> s2 Then
s3 = s2 & " " & s1
n = Shell(s4, vbMaximizedFocus)
Else
MsgBox "Anwendungprogramm für " & s1 & " nicht gefunden/installiert!"
End If
End Sub
Gruß von Luschi