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

Forumthread: Datei (PDF) aus Excel heraus öffnen

Datei (PDF) aus Excel heraus öffnen
THSEFA
Hallo Allerseits,
ich habe hier ein Problem, welches ich gerne mit eurer Hilfe lösen möchte.
https://www.herber.de/bbs/user/64465.xls
Meine Teile sind als Artikelnummern-PDF auf einem Server (P:\Einkauf\Sonstiges\PDF-Zeichnungen mit Artikelnummer) gespeichert. Wenn ich eine Zelle in der Spalte "Art.Nr" markiert habe, soll mittels Shortcut (z.B. Strg + q) ein Makro loslaufen, welches mir die PDF-Datei mit dem Namen aus der markierten Zelle öffnet.
Meine bescheidenen Kenntnisse übersteigt dieses Vorhaben bei weitem. Stellt sich folgende Frage: Geht das überhaupt? Wenn ja, würde mir jemand den Weg zeigen?
Vielen Dank schon mal im Vorraus fürs Anschauen!
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Datei (PDF) aus Excel heraus öffnen
16.09.2009 15:29:12
JogyB
Hi.
Sorry, ich kann leider keine Dateien hier runterladen, deswegen ist vermutlich die von mir gewählte Spalte falsch. Die mußt Du noch korrigieren. Ich bin auch davon ausgegangen, das nur die Artikelnummer in der Spalte steht und für den Dateinamen einfach noch ein .pdf dahinter muss.
Der Code hier kommt in ein Modul in der Arbeitsmappe:
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
Sub PDFoeffnen()
Const artNrSpalte = 3 ' Wäre C, mußt Du anpassen
Const pdfPath = "P:\Einkauf\Sonstiges\PDF-Zeichnungen mit Artikelnummer\"
' Muss eine Range sein und eine einzelne Zelle
' Nicht leer und in der richtigen Spalte
' und nicht in der ersten Zeile
If TypeName(Selection)  "Range" Then
Exit Sub
ElseIf Selection.Cells.Count  1 Then
Exit Sub
ElseIf Selection.Column  3 Or Selection.Row = 1 Then
Exit Sub
ElseIf Selection.Value = "" Then
Exit Sub
' Datei muss es natürlich geben
ElseIf Dir(pdfPath & Selection.Value & ".pdf") = "" Then
Call MsgBox("PDF-Datei nicht gefunden!", vbExclamation, "Fehler")
End If
' Öffnen
ShellExecute 0, "Open", pdfPath & Selection.Value & ".pdf", "", "", 1
End Sub
Wie Du unter Excel 2007 den Shortcut zuweist kann ich Dir leider nicht sagen. In Excel 2003 war es unter
Extras - Makro - Makros, dort das Makro auswählen und dann "Optionen"
Gruss, Jogy
Anzeige
AW: Datei (PDF) aus Excel heraus öffnen
16.09.2009 16:02:28
THSEFA
Hallo Jogy,
ganz großes Kino!!! Spalten angepasst, und schon läufts...
Vielen, vielen herzlichen Dank! Endlich brauche ich mich nicht mehr durch den PDF Haufen zu wühlen!:-)
Einen schönen Feierabend wünscht dir
THSEFA
AW: Datei (PDF) aus Excel heraus öffnen
16.09.2009 16:28:37
JogyB
Hi.
Gerade noch ein Fehlerchen aufgefallen, dass Du aber wohl schon selbst korrigiert hast (sonst würde es nicht laufen).
Eigentlich sollte das
ElseIf Selection.Column 3 ...
so lauten:
ElseIf Selection.Column artNrSpalte
Dann brauchst Du die Spalte nur oben bei dem
Const artNrSpalte = ...
anzupassen.
Wenn Du es beim ElseIf angepaßt hast, dann ist das Const artNrSpalte... unnötig, da es nirgends verwendet wird.
Gruss, Jogy
Anzeige
AW: Datei (PDF) aus Excel heraus öffnen
16.09.2009 17:39:28
THSEFA
Hi,
ja irgendwas muss ich ja als "KaumExcel/VBA-Kenntnisse" schon vorweisen können! Für Code schreiben reichts nicht hinten und nicht vorn, aber im Anpassen bin ich dafür etwas besser! :-)
Habe deinen Code jetzt schon soweit rumgefummelt, dass ich aus der Tabelle die Zeichnungen, Teile und Baugruppen starten lassen kann.
Ganz ehrlich, dieses Forum ist eine wahre Goldgrube! Was man hier lernen kann, gibts nirgendwo sonst in so geballter Form. Macht bitte weiter so!!!!
Beste Grüße, THSEFA
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

PDF-Datei aus Excel heraus öffnen


Schritt-für-Schritt-Anleitung

Um eine PDF-Datei aus Excel zu öffnen, kannst du ein Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem du die Artikelnummern hast.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  4. Kopiere den folgenden VBA-Code in das Modul:

    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
    
    Sub PDFoeffnen()
        Const artNrSpalte = 3 ' Wäre C, mußt Du anpassen
        Const pdfPath = "P:\Einkauf\Sonstiges\PDF-Zeichnungen mit Artikelnummer\"
    
        ' Überprüfe, ob die Auswahl gültig ist
        If TypeName(Selection) <> "Range" Or Selection.Cells.Count <> 1 Or Selection.Column <> artNrSpalte Or Selection.Row = 1 Or Selection.Value = "" Then
            MsgBox "Ungültige Auswahl!", vbExclamation, "Fehler"
            Exit Sub
        End If
    
        ' Überprüfe, ob die PDF-Datei existiert
        If Dir(pdfPath & Selection.Value & ".pdf") = "" Then
            MsgBox "PDF-Datei nicht gefunden!", vbExclamation, "Fehler"
            Exit Sub
        End If
    
        ' Öffne die PDF-Datei
        ShellExecute 0, "Open", pdfPath & Selection.Value & ".pdf", "", "", 1
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Weise das Makro einem Shortcut zu: In Excel 2003 unter Extras > Makro > Makros, wähle das Makro PDFoeffnen und klicke auf Optionen. In neueren Versionen von Excel kannst du die Ribbon-Anpassung verwenden.

  7. Markiere eine Artikelnummer in der entsprechenden Spalte und drücke den Shortcut, um die zugehörige PDF-Datei zu öffnen.


Häufige Fehler und Lösungen

  • Fehler: "PDF-Datei nicht gefunden!"

    • Lösung: Stelle sicher, dass der Dateiname in der Zelle genau mit dem PDF-Namen übereinstimmt und dass die Datei im angegebenen Verzeichnis existiert.
  • Fehler: "Ungültige Auswahl!"

    • Lösung: Überprüfe, ob du eine einzelne Zelle in der richtigen Spalte (z.B. Spalte C) ausgewählt hast.
  • Fehler: Das Makro wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass Makros in deinen Excel-Einstellungen aktiviert sind.

Alternative Methoden

Falls du kein VBA verwenden möchtest, gibt es auch andere Wege, um PDFs in Excel zu integrieren:

  • PDF in Excel einfügen: Du kannst PDFs direkt in ein Excel-Dokument einfügen. Gehe zu Einfügen > Objekt > Aus Datei erstellen und wähle die PDF-Datei aus.

  • Daten aus PDF extrahieren: Mit Tools wie Adobe Acrobat oder Online-Konvertern kannst du PDF-Daten in Excel importieren. Dies ist nützlich, wenn du Daten aus einer PDF-Datei in eine Excel-Tabelle übertragen möchtest.


Praktische Beispiele

  1. PDF-Datei mit Artikelnummern öffnen:

    • Wenn du in der Zelle C2 die Artikelnummer "12345" hast, wird durch das Drücken des Shortcuts das PDF "12345.pdf" geöffnet.
  2. PDFs nach Kategorien organisieren:

    • Wenn du mehrere PDF-Dateien hast, kannst du den Code anpassen, um die Dateien je nach Kategorie in verschiedene Unterordner zu speichern.

Tipps für Profis

  • Fehlersuche im Code: Baue Debug.Print-Anweisungen in deinen Code ein, um den Wert von Variablen während der Ausführung zu überprüfen.

  • PDF-Spalten optimieren: Wenn du regelmäßig mit PDFs arbeitest, überlege dir, eine eigene Excel-Vorlage zu erstellen, die bereits die notwendigen Makros und Formatierungen enthält.

  • Excel-Kurse und PDFs: Nutze Ressourcen wie Excel-Kurse oder PDFs zum Excel-Lernen, um deine Kenntnisse zu vertiefen und effizienter zu arbeiten.


FAQ: Häufige Fragen

1. Wie kann ich mehrere PDF-Dateien gleichzeitig öffnen? Um mehrere PDF-Dateien zu öffnen, müsstest du den VBA-Code anpassen, um eine Schleife zu verwenden, die alle ausgewählten Zellen durchläuft.

2. Kann ich das PDF auch in einem bestimmten Programm öffnen? Ja, du kannst den ShellExecute-Befehl anpassen, um die PDF in einem bestimmten Programm zu öffnen, indem du den Namen des Programms als Parameter übergibst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige