Office: PDF-Datei mit VBA öffnen

Helfe beim Thema PDF-Datei mit VBA öffnen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich möchte in Excel mittels VBA eine PDF-Datei öffnen. Die Datei liegt stets im gleichen Verzeichnis wie die Excel-Mappe. Auf diversen Rechnern... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von MSchabram, 11. Oktober 2007.

  1. PDF-Datei mit VBA öffnen


    Hallo, ich möchte in Excel mittels VBA eine PDF-Datei öffnen. Die Datei liegt stets im gleichen Verzeichnis wie die Excel-Mappe. Auf diversen Rechnern ist dieses Verzeichnis jedoch unterschiedlich, so dass ich mit der shell-Funktion nicht weiterkomme.

    Aus einem anderen Thread hatte ich schonmal den nachfolgenden Code genutzt um ein Word-Dokument zu öffnen. Ich habe es mit einen eher rudimentären VBA-Kenntnissen bisher nicht geschafft, dieses so zu editieren, dass ein pdf sich öffnet. Ich nutze Excel 2000 SP3 auf Windows XP.

    Sub OpenWordDoc()
    Dim WordObj As Word.Application
    Dim WordDoc As Word.Document
    Dim dName$
    dName = ThisWorkbook.Path & "\Handbuch.Doc"

    On Error GoTo w
    AppActivate "Microsoft Word"
    Set WordObj = Word.Application
    GoTo n
    w:
    Set WordObj = CreateObject("Word.Application")
    n:
    Set WordDoc = WordObj.Documents.Open(dName)
    WordObj.Visible = True
    End Sub


    Vielen Dank und Gruß Marco

    P.S. Bin schon eine weilchen in diesem Forum als Leser unterwegs und konnte bisher alle meine Fragen mit der SuFu beantworten. Dafür auch mal herzlichen Dank.

    :)
     
    MSchabram, 11. Oktober 2007
    #1
  2. Moin, MSchabram,

    das wundert mich ein wenig, denn über ThisWorkbook.Path erhältst DU z.B. den Pfad zur Mappe mit dem Makro (der abchlioeßende Backslash fehlt), per GetOpenFilenmae erhält man den Namen und Pfad der Datei, wenn man den Filter entsprechend eingestellt hat. Oder man nutzz BrowseForFolder (eine API-Funktion) zum Auffinden eines Ordners.

    Code:
    Bei mir meldet sich der IE bereits vorher, das kann man aber ggf. durch die Verwendung der DIR-Funktion für die Prüfung der Datei unterbinden...
     
  3. PDF-Datei mit VBA öffnen

    Hallo Jinx,
    das ist auch so beabsichtigt. In diesem Verzeichnis liegt auch das Dokument "Handbuch.Doc", wobei das Verzeichnis auf den unterschiedlichen Rechnern variiert. Das Öffnen dieses Dokumentes klappt bisher auch. Ich möchte jetzt aber das Dokument "Handbuch.pdf" öffnen und dachte mir, den o.a. Code entsprechend zu editieren. In diesem Thread

    http://www.ms-office-forum.net/forum...77&postcount=2

    wurde das auch schonmal empfohlen, leider habe ich die Empfehlungen jedoch nicht verstanden.

    IE scheidet leider aus, da auf den betreffenden Rechnern tlw. kein IE enthalten ist, auch möchte ich die Funktionen von Acrobat nutzen. Da leider auch der genaue Pfad zu Acrobat auf den verschiedenen Rechnern unterschiedlich sein kann, fällt Shell für mich auch weg.

    Gruß und vielen Dank, Marco
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    MSchabram, 13. Oktober 2007
    #4
  4. Das öffnen und drucken nach meinem Code funktioniert bisher tadellos.
    Aber ich scheitere bisher an den variablen Pfaden, genauso wie du.

    Habe aber gerade eine Idee gehabt:

    =LINKS(ZELLE("Dateiname");FINDEN("[";ZELLE("Dateiname"))-1)
    liefert mir ja den Pfad zur aktuellen Tabelle,
    Dieses Ergebnis muß man doch eigendlich nur übergeben.

    Aber wie ??

    Oh, sorry, habe gerade erst gelesen, das du das Prob mit Acroat hast...

    Hat es einen Grund, warum du ausgerechnt Acrobat brauchst, die Entscheidung haben wir verworfen, da er zu langsam ist, ausserdem zu groß.

    Schau dir mal Foxit an, was schnelleres gibt es nicht, und vor allem umme.
    Editor gibt es auch, der vor allem auch per cmd angesprochen werden kann, sowie FreePDFXP --> auch per cmd

    Wenn es mit den variablen Pfaden klappt, dann werde ich ein Installer bauen, der zuzüglich zu den pdf's und der Excel Tabelle auch gleich den Foxit mitsamt editor installiert, dann brauch man nicht von Rechner zu Rechner laufen, sondern verschickt das Paket per Inerne E-Mail an alle , und ---> Voilà !!!

    PS:
    Haben das Konstrukt immo bei einer Öffentlichen Einrichtung im Einsatz, wenn es nicht gut wäre, dann hätte ich das wahrscheinlich schon als ersten mitbekommen. *biggrin.gif*





    Ohhhhh....... Kann es sein, das ich auf den falschen Thread geantwortet habe ???? ----->>> JA

    Sorry, solltest dir aber trotzdem mal den Link anschauen. vielleicht bringt er dich auf einen anderen Lösungsweg.

    Gruss Dr.C
     
  5. Hallo Dr. C

    danke für die Antwort. Leider liegt die Auwahl der Pdf-Reader-Software absolut nicht in meiner Macht. Der Acrobat ist dort eine feste Größe...


    Gruß Marco
     
    MSchabram, 13. Oktober 2007
    #6
  6. Moin, Marco,

    das ausführende Programm mitsamt Pfad bekommt man z.B. per folgender API-Funktion heraus:

    Code:
    Und statt die Angabe in einem Mitteilungsfenster erscheinen zu lassen, könnte sie doch in eine Variable übergeben in die Shell-Anweisung einfliessen... *wink.gif*
     
  7. PDF-Datei mit VBA öffnen

    Hallo Marco,

    versuch's mal damit:

    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

    Private Sub pdf_oeffnen()
    Call ShellExecute(0&, "Open", ThisWorkbook.Path & "\Handbuch.pdf", "", "", 1)
    End Sub


    mfg Anton
     
    _anton_, 13. Oktober 2007
    #8
  8. Hallo,

    herzlichen Dank für die so schnelle Hilfe *Smilie Es läuft!

    Viele Grüße Marco
     
    MSchabram, 13. Oktober 2007
    #9
Thema:

PDF-Datei mit VBA öffnen

Die Seite wird geladen...
  1. PDF-Datei mit VBA öffnen - Similar Threads - PDF Datei VBA

  2. Datei als PDF speichern ohne festen Dateipfad

    in Microsoft Excel Hilfe
    Datei als PDF speichern ohne festen Dateipfad: Hey ihr Profis da draußen, ich versuche aktuell mehrere Excel-Blätter über VBA automatisch als PDF-Datei erstellen zu lassen. Einen Teilerfolg konnte ich bereits erzielen, mehrere Blätter werden...
  3. PDF-Dateinamen aus Zellen zusammensetzen

    in Microsoft Excel Hilfe
    PDF-Dateinamen aus Zellen zusammensetzen: Hallo zusammen! Ich habe eine Arbeitsmappe mit mehreren Arbeitsblättern die mit den Namen von Mitarbeitern versehen sind. Nun möchte ich folgendes erreichen: Wenn die Datei als xlsx gespeichert...
  4. mehrere Hyperlink-Dateien in pdf drucken

    in Microsoft Excel Hilfe
    mehrere Hyperlink-Dateien in pdf drucken: Hallo Zusammen, leider hat mich meine mehrstündige Suche bisher nicht zum gewünschten Thread geführt hat, daher hier nun die Beschreibung meines Vorhabens. Ich habe ein Sammlung an...
  5. PDF Datei in Zelle fixieren

    in Microsoft Excel Hilfe
    PDF Datei in Zelle fixieren: Hallo werte Excel-User, ich habe mich hier registriert in der Hoffnung jemand kann mir weiterhelfen. In einer Excelliste habe ich diverse PDFs am Ende einer Spalte, in einzelnen Zellen,...
  6. PDF-Datei mittels VBA öffnen

    in Microsoft Excel Hilfe
    PDF-Datei mittels VBA öffnen: Hallo VBAler, anbei eine kleine Tabelle mit folgendem Code: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim pfad As String pfad = Application.ActiveWorkbook.Path & "" &...
  7. VBA Excel-Sheet-Range in pdf-Datei speichern und als Anhang mit outlook versenden

    in Microsoft Excel Hilfe
    VBA Excel-Sheet-Range in pdf-Datei speichern und als Anhang mit outlook versenden: Hallo, versuche mich unter Office 2013 verzweifelt :confused:in VBA mit folgendem Code: Sub RANGE_als_PDF_Datei_per_Outlook_versenden() 'folgendes Makro konvertiert einen bestimmten Range...
  8. Word 2010 VBA Datei als PDF beifügen

    in Microsoft Word Hilfe
    Word 2010 VBA Datei als PDF beifügen: Hallo zusammen Ich habe mir im Word ein kleines Makro zusammengebastelt und es funktioniert eigentlich alles super. Nun wollte ich jedoch eine kleine Weiterentwicklung anbringen, diese krieg...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden