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
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 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
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
danke
Bitte
MfG Alex
Danke euch beiden, genau soetwas habe ich gesucht.
mfg jonna