Dokument oder PDF über Filelist öffnen

Hallo,
Ich habe eine Filelist in der verschiedene Dateiformate angezeigt werden. PDF, XLS und DOC. Nun würde ich diese gern per doppelklick mit der passenden Win Anwendung öffnen lassen. Ich habe bis heute anhand der Dateierweiterung selber den Pfad zum passenden programm angeben. Aber wie macht das der Win Explorer ? kann ich nicht einfach sagen. Wenn etwas in file1 angeklickt wird öffne es mit der Anwendung die Windows für diesen Dateityp benutzen würde
danke

Hallo Joe,

ich hab jetzt keine VB-Entwicklungsumgebung hier, um es ausprobieren zu können, aber ich denke, das sollte mit der Funktion ShellExecute gehen.

MfG
Roland

Hallo,
Ich habe eine Filelist in der verschiedene Dateiformate
angezeigt werden. PDF, XLS und DOC. Nun würde ich diese gern
per doppelklick mit der passenden Win Anwendung öffnen lassen.
Ich habe bis heute anhand der Dateierweiterung selber den Pfad
zum passenden programm angeben. Aber wie macht das der Win
Explorer?
danke

Hallo,

Hallo Joe,

Ich habe eine Filelist in der verschiedene Dateiformate
angezeigt werden. PDF, XLS und DOC. Nun würde ich diese gern
per doppelklick mit der passenden Win Anwendung öffnen lassen.

Ok, das ist nicht schwer :wink:

Ich habe bis heute anhand der Dateierweiterung selber den Pfad
zum passenden programm angeben. Aber wie macht das der Win
Explorer ? kann ich nicht einfach sagen. Wenn etwas in file1
angeklickt wird öffne es mit der Anwendung die Windows für
diesen Dateityp benutzen würde

Jups das kann man machen. Aber es geht noch besser. Was machst du wenn der PC die File Endung nicht kennt? Cool ist es doch dann wenn man einen Dialog aufgehen laesst der den Nutzer dann fragt, mit welchen Proggi er das öffnen soll :smile: Klingt schwer ? Ist es nicht! Ich poste dir eine Function die das File mit der zugehörigen Anwendung öffnet und wenn sie es nicht kennt, dann halt den Dialog. Kannst aber beim Aufruf festlegen ob er das machen soll ooder nicht :wink:

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal Operation As String, ByVal FileName As String, Optional ByVal Parameters As String, Optional ByVal Directory As String, Optional ByVal WindowStyle As Long = vbMinimizedFocus) As Long


Public Function LaunchDocument(ByRef FileName As String, Optional ByVal ParentForm As Form, Optional ByVal ShowOpenWithDialog As Boolean = False, Optional ByVal WindowStyle As VBA.VbAppWinStyle = vbNormalFocus) As Boolean
Dim lSuccess As Long
Dim hWndParent As Long
 If Not ParentForm Is Nothing Then hWndParent = ParentForm.hwnd
 lSuccess = ShellExecute(hWndParent, "Open", FileName, vbNullString, vbNullString, WindowStyle)
 Select Case lSuccess
 Case Is \> 32
 LaunchDocument = True
 Case 31&
 If ShowOpenWithDialog Then
 Shell "RunDLL32 shell32.dll,OpenAs\_RunDLL " & FileName
 LaunchDocument = True
 End If
 Case Else
 End Select
End Function

Legst du ShowOpenWithDialog auf True, so wird der Dialog angezeigt wenn das File unbekannt ist. Ansonsten ist es selbst erklärend oder?
Einfach die Function aufrufen und die Parameter übergeben :wink:

danke

Bitte :smile:

MfG Alex

Danke euch beiden, genau soetwas habe ich gesucht.

mfg jonna