Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: PDF über Application.GetOpenFilename öffnen

PDF über Application.GetOpenFilename öffnen
26.07.2015 17:19:29
Sven
Hallo, ich habe schon viel probiert und gesucht nur leider habe ich nix gefunden. Ich habe einen Button, mit dem ich über Excel eine Datei öffnen Fenster erzeuge, in dem Fenster werden alle vorhanden Dateien, des zuvor definierten Ordners angezeigt. Nun will ich eine PDF Datei auswählen und öffnen. Der Name der Datei wechselt täglich, so dass ich die Datei nicht fest definieren kann. Wenn ich die Datei anklicke öffnet sich auch der PDF Reader, nur leider nicht die PDF Seite. Wäre nett wenn ihr mir helfen könntet.
Hier mein bisheriger Code:
Private Sub CommandButton2_Click()
' Dateiauswahlfenster öffnen
Dim AppWD As Object
Dim fn
Const StartDrive = "X:"
Const StartDir = "X:\Public-Kammer_Heinrich"
ChDrive StartDrive
ChDir StartDir
fn = Application.GetOpenFilename("alle-Dokumente, *.", , "Bitte Datei auswählen")
If fn = False Then Exit Sub 'Abbrechen gedrückt
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run """C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe"
Vielen Dank für eure Hilfe

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: PDF über Application.GetOpenFilename öffnen
26.07.2015 18:05:24
Sepp
Hallo Sven,
#If Win64 Then
Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd _
  As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal _
  lpDirectory As String, ByVal nShowCmd As Long) As LongLong
#Else
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _
  ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal _
  lpDirectory As String, ByVal nShowCmd As Long) As Long
#End If

Private Sub CommandButton2_Click()
Dim strFile As String

With Application.FileDialog(msoFileDialogFilePicker)
  .InitialFileName = "E:\Forum"
  .Title = "Datei öffnen"
  .ButtonName = "Öffnen"
  .InitialView = msoFileDialogViewList
  If .Show = -1 Then strFile = .SelectedItems(1)
End With

If Len(strFile) Then ShellExecute 0, "Open", strFile, "", "", 1

End Sub


Gruß Sepp

Anzeige
AW: PDF über Application.GetOpenFilename öffnen
26.07.2015 18:25:00
Nepumuk
Hallo Sepp,
es gibt keine spezielle 64Bit-Version von ShellExecute. Nur die Unterscheidung von VBA7 oder früher.
Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
    ByVal hwnd As LongPtr, _
    ByVal lpOperation As String, _
    ByVal lpFile As String, _
    ByVal lpParameters As String, _
    ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As LongPtr

Gruß
Nepumuk

Anzeige
Danke für die Info! o.T.
26.07.2015 18:33:48
Sepp
Gruß Sepp

Korrektur!
26.07.2015 18:34:15
Sepp
#If VBA7 Then
Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd _
  As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, _
  ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr
#Else
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _
  ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal _
  lpDirectory As String, ByVal nShowCmd As Long) As Long
#End If

Private Sub CommandButton2_Click()
Dim strFile As String

With Application.FileDialog(msoFileDialogFilePicker)
  .InitialFileName = "E:\Forum"
  .Title = "Datei öffnen"
  .ButtonName = "Öffnen"
  .InitialView = msoFileDialogViewList
  If .Show = -1 Then strFile = .SelectedItems(1)
End With

If Len(strFile) Then ShellExecute 0, "Open", strFile, "", "", 1

End Sub


Gruß Sepp

Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige