Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1908to1912
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
PDF Dokument per VBA öffnen
28.11.2022 16:46:13
grigri
Hallo,
bin grad mit meinem Latein am Ende. Ich versuche seit Stunden mit einem Makro von einem bestimmten Dateipfad eine PDF zu öffnen und bekomm das nicht hin.
Der Code sollte aber in jedem Fall passen da ich ihn von einem bereits vor Jahren erstellten VBA kopiert habe. Dort funzt er problemlos :-(
Hat jemand eine Idee was ich falsch mache?
Danke schon mal im Voraus

Private Sub open_pdf_Click()
Dim strDateiName As String
Dim strPathToAcroRead As String
strPathToAcroRead = "C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe"
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = False
.InitialFileName = "O:\WNW\Kundendienst\Einsatzleitung\gescannte Probenbegleitscheine\" & ComboBox1 & ".pdf"
If .Show = -1 Then
strDateiName = .SelectedItems(1)
End If
End With
If strDateiName  "" Then
Shell strPathToAcroRead & " /N " & strDateiName
MsgBox "Dokument wird geöffnet" & vbCrLf & "Zum öffnen bitte klicken"
End If
Unload Me
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF Dokument per VBA öffnen
28.11.2022 17:51:02
Der
Hallo,
ggf. müsste der Dateiname samt Pfad in Anführungszeichen, wenn Leerezeichen im Pfad enthalten sind:

"""" & strDateiName & """"
Wenn aber der Acrobat Reader die Standard-Anwendung für PDF ist, müsste der direkte Aufruf der Datei reichen:

CreateObject("WScript.Shell").Run strDateiName

AW: PDF Dokument per VBA öffnen
28.11.2022 17:53:52
Der
Das mit den Anführungszeichen gilt natürlich auch für meine Lösung:

CreateObject("WScript.Shell").Run """" & strDateiName & """"

Anzeige
AW: PDF Dokument per VBA öffnen
29.11.2022 07:04:22
grigri
Servus,
habe deinen Vorschlag getestet, aber irgendwie scheine ich was falsch zu machen.
Wie gesagt, den Codeschnipsel habe ich aus einem meiner früheren Projekte raus kopiert. In dem anderen Dokument wird der Acrobat Reader auch geöffnet.
Die beiden Codes sind komplett ident (natürlich bis auf die Speicherpfade). Trotzdem wird der Acrobat nicht angesprochen
Oben ist der neue Code, unten der alte

Private Sub open_pdf_Click()
Dim strDateiName As String
Dim strPathToAcroRead As String
strPathToAcroRead = "C:\Program Files (x86)\Adobe\Acrobat Reader 10.0\Reader\AcroRd32.exe"
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = False
.InitialFileName = "O:\WNW\Kundendienst\Einsatzleitung\gescannte Probenbegleitscheine\" & ComboBox1  & ".pdf"
If .Show = -1 Then
strDateiName = .SelectedItems(1)
End If
End With
If strDateiName  "" Then
Shell strPathToAcroRead & " /N " & strDateiName
MsgBox "Dokument wird geöffnet" & vbCrLf & "Zum öffnen bitte klicken"
End If
Unload Me
End Sub
Private Sub cmd_openpdf_Click()
Dim strDateiName As String
Dim strPathToAcroRead As String
strPathToAcroRead = "C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe"
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = False
.InitialFileName = "O:\Rücksendungen\Rechnungen\" & GoToBox & ".pdf"
If .Show = -1 Then
strDateiName = .SelectedItems(1)
End If
End With
If strDateiName  "" Then
Shell strPathToAcroRead & " /N " & strDateiName
MsgBox "PDF-File is being opened." & vbCrLf & "Please click OK to continue after reading."
End If
Unload Me
End Sub

Anzeige
AW: PDF Dokument per VBA öffnen
29.11.2022 08:58:37
Oberschlumpf
Hi
du verwendest...

Shell strPathToA...usw
...ein Vorschlag ist...

CreateObject("WScript.Shell").Run """" & strDa...usw
...du schreibst: "habe deinen Vorschlag getestet...usw"
Ich frage: Und wo, in deinem neu gezeigten Code, erscheint der Code(vorschlag), den du getestet hast?
Hier von mir eine Idee, die erst mal nur zum Ausprobieren da ist, ob es mit WScript grundsätzlich funktioniert:

Sub test
Dim objShell As Object
Set objShell = CreateObject("WScript.Shell")
'   objShell.Run Chr(34) & "O:\WNW\Kundendienst\Einsatzleitung\gescannte Probenbegleitscheine\DATEINAME.pdf" & Chr(34), 1
objShell.Run Chr(34) & "O:\WNW\Kundendienst\Einsatzleitung\gescannte Probenbegleitscheine\" & ComboBox1  & ".pdf" & Chr(34), 1
Set objShell = Nothing
End Sub
Wenn das mit ComboBox1 noch immer nicht funktioniert, lösch mal die Zeile mit ComboBox1 und verwende die Zeile darüber - ersetz aber natürlich DATEINAME durch einen gültigen Dateinamen.
Hilfts?
Den von mir gezeigten Code verwende ich zum Öffnen aller PDF-Dateien, die in meiner Excel-Datei zur Verfügung stehen mit dem von mir als Standard markierten PDF-Viewer.
Ich nutze nicht Acrobat Reader, ich nutze Foxit PDF Reader.
Ciao
Thorsten
Anzeige
AW: PDF Dokument per VBA öffnen
29.11.2022 10:39:13
grigri
Servus,
momentan weiß ich gar nicht mehr was ich alles probiert habe.
Wie schon gesagt, in dem "alten" Dokument funktioniert der Code den ich mit Copy/Paste in das neue Dokument übernommen habe. Lediglich der Dateipfad wurde angepasst.
Leider ist es aber auch so das meine eigentliche Arbeit liegen geblieben ist und ich das schleunigst nachholen muss bevor mir das über den Kopf wächst.
Ich glaub ich werde das auf einen anderen Tag verschieben. Vielleicht löst sich der Knoten in meinem Kopf bis dahin.
Bis jetzt habe ich noch keine Lösung gefunden.
Danke trotzdem für eure Hilfe
lg
Cris
Anzeige
AW: PDF Dokument per VBA öffnen
29.11.2022 11:24:02
Der
Nochmal: Wenn der Pfad Leerzeichen beinhaltet, dann muss er in Anführungszeichen eingebettet werden. anscheinend ist das bei Dir der Fall. Also den Pfad samt Dateinamen um die Anführungszeichen ergänzen wie beschrieben.
Ansonsten können wir Dir nur helfen, wenn wir wissen was genau in den Variablen und den Steuerelementen steht ...
AW: PDF Dokument per VBA öffnen
29.11.2022 09:31:01
peterk
Hallo
Ist der Pfad zum Reader gültig? Füg folgende Codezeilen ein:

strPathToAcroRead = "C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe"
If Dir(strPathToAcroRead) = "" Then
MsgBox "Pfad nicht gefunden", , "strPathToAcroRead"
End If
Peter
Anzeige
AW: PDF Dokument per VBA öffnen
29.11.2022 15:18:00
grigri
Hallo an alle die da mitgeholfen haben,
bitte erschlagt mich nicht. Es war ein dummer Flüchtigkeitsfehler (Tippfehler) bei der Ansprache des Steuerelements. Dieses Element habe ich versehentlich cnd_openpfd genannt. Somit konnte der Code gar nicht ausgeführt werden.
Die letzten Stunden der Fehlersuche waren komplett überflüssig.
lg
Cris
AW: PDF Dokument per VBA öffnen
29.11.2022 16:08:28
Oberschlumpf
Hi,
SOWAS kannst auch du verhindern.
Lies dir mal alles durch, was du zum Befehl...

Option Explicit
...findest - und wende den Befehl auch an
Ciao

12 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige