PDF-Datei über Makro öffnen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: PDF-Datei über Makro öffnen von: Dieter.K
Geschrieben am: 19.03.2005 21:02:49

Hallo Forum,

ich benutze folgenden Code um PDF-Dateien über ein Label oder CommandButton aus meiner Excel-Datei heraus zu öffnen.

Private Sub LblInfo001_3_Click()
Dim sFile As String
   sFile = Worksheets("Texte").Range("A1").Value & "\VAInfo 002_5.pdf"
   If Dir(sFile) <> "" Then
   ShellExecute GetActiveWindow, "Open", Worksheets("Texte").Range("A1").Value & "\VAInfo 002_5.pdf", "", "", SHOWMAXIMIZED
    Else
      frmPDF.Show
   End If
End Sub

Das funktioniert einwandfrei. Bei folgendem Code habe ich nur den Dateinamen ausgetauscht (Datei ist auf jeden Fall in dem Verzeichnis vorhanden). Die Datei lässt sich über den Code nicht anzeigen!!

Private Sub LblInfo001_4_Click()
Dim sFile As String
   sFile = Worksheets("Texte").Range("A1").Value & "\Va600.pdf"
   If Dir(sFile) <> "" Then
   ShellExecute GetActiveWindow, "Open", Worksheets("Texte").Range("A1").Value & "\Va600.pdf", "", "", SHOWMAXIMIZED
    Else
      frmPDF.Show
   End If
End Sub

Zur Erstellung der PDF-Dateien benutze ich "gotomaxx".
Als Acrobat-Reader ist 7.0 im Einsatz.
Wenn ich die Dateien im Explorer über Doppelklick öffne, funktionieren beide.
Aus meiner Excel-Anwendung heraus aber nur die aus dem ersten Code.
(Die Datei aus dem ersten Code wurde vor Installation von Acrobat 7.0 erstellt, die Datei aus dem 2 Code danach).
Was mache ich falsch?? Hat jemand einen Tipp oder eine Idee?

Gruß
Dieter.K
Bild


Betrifft: AW: PDF-Datei über Makro öffnen von: Josef Ehrensberger
Geschrieben am: 19.03.2005 21:10:29

Hallo Dieter!

Kann mich erinnern, das der letzte Parameter schon mal probleme gemacht hat!

Versuch mal statt "SHOWMAXIMIZED", den numerischen Wert 3 einzusetzten.




Gruß Sepp


P.S.: Rückmeldung nicht vergessen!




Bild


Betrifft: AW: PDF-Datei über Makro öffnen von: Dieter.K
Geschrieben am: 19.03.2005 21:19:36

Hallo Sepp,

das war es leider nicht. Ich vermute, das mein PDF-Mailer ("gotomaxx") die Dateien so komprimiert / erstellt, daß diese über den Excel-Code nicht mit Acrobat 7.0 geöffnet werden können.
Die funktionierenden Dateien, wurden vor der Installation von Acrobat 7.0 als PDF kreiert.
Ich müsste mal probehalber den Acrobat 7.0 deinstallieren (leider schließt sich mein Fenster aber immer automatisch, wenn ich über Systemsteuerung / Software versuche daran zu kommen (zur Info: Betriebssystem Win2000 SP4). Ich werde mal versuchen den Acrobat 7.0 anderweitig wieder loszuwerden.

Gruß
Dieter.K


Bild


Betrifft: *.pdf-Datei durch Doppelclickmakro öffnen von: Beate Schmitz
Geschrieben am: 20.03.2005 01:55:02

Hallo Dieter,

schau mal hier, du musst natürlich im Makro die Pfade deinen Bedingungen anpassen:

http://www.excel-center.de/foren/read.php?2,14030,14146#msg-14146

Gruß,
Beate


Bild


Betrifft: AW: PDF-Datei über Makro öffnen von: Nepumuk
Geschrieben am: 20.03.2005 02:14:34

Hallo Dieter,

schau mal, ob es nicht an der nicht ganz sauber programmierten Funktion liegt. Die sollte eigentlich alles aufbekommen, was sich mit einem Doppelklick öffnen lässt.


Option Explicit

Private Declare Function GetShortPathName Lib "kernel32.dll" Alias "GetShortPathNameA" ( _
     ByVal lpszLongPath As String, _
     ByVal lpszShortPath As String, _
     ByVal cchBuffer As LongAs Long

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 LongAs Long

Private Declare Function GetActiveWindow Lib "user32.dll" () As Long

Private Const MAX_PATH = 260&
Public Const SW_MAXIMIZE = 3&

Private Sub prcOpen_PDF()
    Dim strPath As String, strShortPath As String, strFile As String
    strFile = "bpl08827.pdf"
    strPath = Trim$(Worksheets("Texte").Cells(1, 1).Text) & "\"
    strShortPath = Space(MAX_PATH)
    GetShortPathName strPath & "\" & strFile, strShortPath, MAX_PATH
    ShellExecute GetActiveWindow, "open", strShortPath, "", strPath, SW_MAXIMIZE
End Sub


Gruß
Nepumuk


Bild


Betrifft: AW: PDF-Datei über Makro öffnen von: Dieter.K
Geschrieben am: 20.03.2005 15:11:38

Hallo Nepumuk,

erst einmal vielen Danke für Deine Hilfe zu so später Stunde (gilt natürlich auch für Beate). Dein Code läuft eigentlich einwandfrei.
Die Zeile "Public Const SW_MAXIMIZE = 3&" mußte ich in "Pivate Const SW_MAXIMIZE = 3&" ändern, da er sonst immer gemotzt hat.

Wenn ich Deinen Code in eine neue Datei einfüge, kann ich mit alle PDF-Dateien öffnen.
Füge ich den Code jedoch in meine "Problemmappe" ein, ist das Ergebnis das gleiche wie vorher. PDF-Dateien die vor Installation von Acrobat 7.0 erstellt wurden, öffnen einwandfrei, alle PDF-Dateien die nachher erstellt wurden öffnen sich nicht. Ich habe Acrobat 7.0 zwischenzeitlich deinstalliert und 6.0 aufgesetzt, leider ohne Erfolg. Problem besteht immer noch. Ich werde mir jetzt einmal irgendwelche PDF's downloaden um zu sehen was dann passiert. Ich werde das Gefühl nicht los, daß das mit meiner PDF-Software zusammenhängt ("gotomaxx").

Weitere Infos hierzu folgen.

Danke

Gruß
Dieter.K


Bild


Betrifft: AW: PDF-Datei über Makro öffnen von: Dieter.K
Geschrieben am: 20.03.2005 21:58:51

Hallo Nepumuk,

hier die versprochenen Info's:

Wenn ich Deinen Code in einer neue Datei einsetze, läuft alles einwandfrei.
Setze ich den Code in meine Datei, funktionieren nur die PDF's die vorher auch schon funktioniert haben (kann also doch nicht an meinem PDF-Creator "gotomaxx" liegen).
Ich lasse diese PDF-Spielerei erst einmal sein (es gibt wichtigeres in der Datei zu erledigen). Komme sicher später (in ein paar Tagen) noch mal auf dieses Problem zurück.

Gruß
Dieter.K


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Doppelclick auf Fensterleiste Userform"