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

Forumthread: PDF Datei einfügen

PDF Datei einfügen
21.11.2021 09:22:42
Florian
Hi Leute,
mit diesem Code füge ich PDF-Dateien in meine Excel-Arbeitsmappe ein:

Sub AnlagenEinfuegen()
Dim Dateiname
Dim Pfad
Pfad = ThisWorkbook.Path
Dateiname = Application.GetOpenFilename(filefilter:="PDF-Dateien (*.pdf), *.*)", Title:="Anlage auswählen")
If Dateiname = "Falsch" Then
MsgBox "Keine Datei ausgewählt!"
Else
If ActiveSheet.Name = "Anlagen" Then
ActiveSheet.OLEObjects.Add(Filename:=Dateiname, Link:=False, DisplayAsIcon:=True, IconFileName:=Pfad & "PDF.ico", IconIndex:=0, IconLabel:=Dateiname).Select
Else
MsgBox "Bitte wechseln Sie zuerst auf das Tabellenblatt 'AnlagenÄ und wählen Sie eine leere Zelle aus.", vbInformation, "Anlage einfügen"
End If
End If
End Sub
Dabei habe ich zwei Probleme:
1. Das PDF-Icon wird in der Anlage nicht angezeigt.
2. Wie kann ich nur den Dateinamen und nicht den ganzen Pfad in der Anlage anzeigen lassen?
Danke euch!! :)
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF Datei einfügen
21.11.2021 11:24:20
volti
Hallo Florian,
hier eine Idee, um nur den Dateinamen anzeigen zu lassen.
Ich habe hier grad kein PDF-Programm, aber wenn Du die Icon-Angabe weglässt, sollte das entsprechende Icon angezeigt werden.
Ansonsten musst Du auch den Pfad und den Dateinamen des Icons korrekt angeben, also PDF.ICO suchen lassen und wenn gefunden, diese Angaben einbauen.
Code:

[Cc][+][-]

Option Explicit Sub AnlagenEinfuegen() Dim Dateiname Dim Pfad Dim sArr() As String Pfad = ThisWorkbook.Path Dateiname = Application.GetOpenFilename(filefilter:="PDF-Dateien (*.pdf), *.*)", Title:="Anlage auswählen") _ If Dateiname = "Falsch" Then MsgBox "Keine Datei ausgewählt!" Else If ActiveSheet.Name = "Anlagen" Then sArr = Split(Dateiname, "\") ActiveSheet.OLEObjects.Add(Filename:=Dateiname, link:=False, DisplayAsIcon:=True, _ IconIndex:=0, IconLabel:=sArr(UBound(sArr))).Select Else MsgBox "Bitte wechseln Sie zuerst auf das Tabellenblatt ' AnlagenÄ und wählen Sie eine _" leere Zelle aus.", vbInformation, "Anlage einfügen"" End If End If End Sub

viele Grüße
Karl-Heinz

Anzeige
AW: PDF Datei einfügen
21.11.2021 12:12:28
Florian
Wenn ich das hier rauslasse, sehe ich nur ein komplett weißes Feld auch ohne Text nach dem einfügen:

IconFileName:=Pfad & "PDF.ico"
Zudem ist dann meine Datei beschäftigt und kann nicht mehr repariert werden.
AW: PDF Datei einfügen
21.11.2021 12:25:25
volti
Hast Du auch das Komma mit weggelassen?
Gruß
KH
Anzeige
AW: PDF Datei einfügen
21.11.2021 13:59:25
Florian
Ja, also habe es schon syntaktisch Korrekt rausgenommen. So sieht es jetzt aus:

ActiveSheet.OLEObjects.Add(Filename:=Anlage, Link:=False, DisplayAsIcon:=True, IconIndex:=0, IconLabel:=strDateiname).Select

AW: PDF Datei einfügen
21.11.2021 19:45:40
Franzl
Hallo Excelianer,
diesen Thread habe ich auch getestet und bin eigentlich überrascht, wie einfach sowas geht.
Was mir aufgefallen ist, es ist zwar schön, dass ein Textfeld eingefügt wird mit Icon und den Namen der Datei, aber würde das auch machbar sein, dass sozusagen in der Zelle hinter dem Textfeld oder mit dem Textfeld der Link zur Datei eingefügt wird, damit man die Datei auch schnell wieder findet?
Wie schaut das aus, wenn dann der Link zur Datei zwar vorhanden ist, aber der Quellordner hat sich im Namen oder Verzeichnisort geändert? gäbe es da auch eine Lösung?
es grüßt
Franzl
Anzeige
AW: PDF Datei einfügen
22.11.2021 09:49:54
Oberschlumpf
Hi Florian,
versuch es mal hiermit:

Sub AnlagenEinfuegen()
Dim Dateiname
Dim Pfad
Dim lstrSplit() As String
Pfad = ThisWorkbook.Path
Dateiname = Application.GetOpenFilename(filefilter:="PDF-Dateien (*.pdf), *.*)", Title:="Anlage auswählen")
If Dateiname = "Falsch" Then
MsgBox "Keine Datei ausgewählt!"
Else
If ActiveSheet.Name = "Anlagen" Then
lstrSplit = Split(Dateiname, "\")
ActiveSheet.OLEObjects.Add(Filename:=Dateiname, Link:=False, DisplayAsIcon:=True, IconFileName:=Dateiname, IconIndex:=0, IconLabel:=lstrSplit(UBound(lstrSplit))).Select
Else
MsgBox "Bitte wechseln Sie zuerst auf das Tabellenblatt 'AnlagenÄ und wählen Sie eine leere Zelle aus.", vbInformation, "Anlage einfügen"
End If
End If
End Sub
Nun wird nur der Dateiname angezeigt.
Aber dass auch ein PDF-Icon gezeigt wird, hab ich nicht hinbekommen.
Ich bin mir zwar nicht sicher, glaube aber, dass das auch nicht geht.
Hast du deinen Code anstelle mit DisplayAsIcon:=True auch mal mit DisplayAsIcon:=False ausprobiert?
Mit Verwendung von False wird nämlich die ganze erste Seite der zuvor ausgewählten PDF-Datei angezeigt - False wieder geändert auf True zeigt wieder nur ein kleines Symbol.
Hilfts?
Ciao
Thorsten
Anzeige
AW: PDF Datei einfügen
22.11.2021 17:23:09
Florian
Auf False kann ich nicht setzen, da es sonst sehr unübersichtlich wird mit den vielen Anlagen ;)
AW: PDF Datei einfügen
22.11.2021 17:54:59
Oberschlumpf
a) du hast mich nich verstanden
mit True auf False und wieder zurück meinte ich, dass DisplayAsIcon "meint": True = zeig mich als kleines Symbol , False = zeig mich als erste Seite der Datei
Und das hat wahrsch so gar nix damit zu tun, dass ein Dateityp-Icon mit oder nicht mit angezeigt werden soll!
b) hast du meinen Code eigtl ausprobiert?!?
Wenn nein, wieso nich?
Zumindest fehlt eine Antwort von dir, ob mein Code helfen konnte oder nich...
Anzeige
AW: PDF Datei einfügen
24.11.2021 09:49:58
Florian
Sorry für die späte Rückmeldung. Es klappt leider nicht, wenn ich diesen Code verwende.
Hab es für mich jetzt abgehakt, bevor ich noch lange suche. So wichtig ist es nicht. Dann werden die Anlagen halt ohne dem PDF Icon angezeigt ;)
AW: PDF Datei einfügen
24.11.2021 09:56:44
Oberschlumpf
Danke für die abschließende Antwort, auch wenn ich mich frage, was genau denn nich geklappt hat? denn das Ziel: "zeige nur Dateiname" wird mit meinem Code (und auch von einem anderen Antworter) doch erreicht....egal....du hast fertig...ich dann auch
Anzeige
AW: PDF Datei einfügen
22.11.2021 19:37:17
Franzl
Hallo noch einmal ...
wahrscheinlich ist meine Anfrage hier "untergegangen" oder muss ich eine Extra-anfrage hier stellen?
Hallo Excelianer,
diesen Thread habe ich auch getestet und bin eigentlich überrascht, wie einfach sowas geht.
Was mir aufgefallen ist, es ist zwar schön, dass ein Textfeld eingefügt wird mit Icon und den Namen der Datei, aber würde das auch machbar sein, dass sozusagen in der Zelle hinter dem Textfeld oder mit dem Textfeld der Link zur Datei eingefügt wird, damit man die Datei auch schnell wieder findet?
Wie schaut das aus, wenn dann der Link zur Datei zwar vorhanden ist, aber der Quellordner hat sich im Namen oder Verzeichnisort geändert? gäbe es da auch eine Lösung?
es grüßt
Franzl
Anzeige
OT
23.11.2021 06:45:05
Oberschlumpf
Hi Franzl
ja, ich denke, du hast recht - du solltest einen "eigenen" Beitrag erstellen.
Ich, und ich denke, auch viele Andere haben deine erste Anfrgae hier gelesen.
Aber deine Fragen haben mit dem eigentlichen Beitrag hier nicht so viel zu tun, und zumindest ich wüsste für dich auch keine Antworten.
Du hattest allerdings auch das hier geschrieben: dass ein Textfeld eingefügt wird mit Icon und den Namen der Datei
Das lässt mich vermuten, dass du einen Code entwickeln konntest, der eben auch das Icon im Symbol mit Dateiname erscheint.
Ich denke, Florian würde sich freuen, wenn du auf seine Frage antwortest und uns diesen Code zeigst.
Ciao
Thorsten
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

PDF-Datei in Excel einfügen: So funktioniert's


Schritt-für-Schritt-Anleitung

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

  2. Modul einfügen: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei)", wähle "Einfügen" und dann "Modul".

  3. Code eingeben: Kopiere den folgenden VBA-Code in das Modul:

    Sub AnlagenEinfuegen()
       Dim Dateiname As String
       Dim Pfad As String
       Pfad = ThisWorkbook.Path
       Dateiname = Application.GetOpenFilename(filefilter:="PDF-Dateien (*.pdf), *.*", Title:="Anlage auswählen")
       If Dateiname = "Falsch" Then
           MsgBox "Keine Datei ausgewählt!"
       Else
           If ActiveSheet.Name = "Anlagen" Then
               ActiveSheet.OLEObjects.Add(Filename:=Dateiname, Link:=False, DisplayAsIcon:=True, IconIndex:=0, IconLabel:=Dir(Dateiname)).Select
           Else
               MsgBox "Bitte wechseln Sie zuerst auf das Tabellenblatt 'Anlagen' und wählen Sie eine leere Zelle aus.", vbInformation, "Anlage einfügen"
           End If
       End If
    End Sub
  4. Code ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle AnlagenEinfuegen und klicke auf "Ausführen".

  5. PDF auswählen: Wähle die PDF-Datei aus, die du in deine Excel-Datei einfügen möchtest.


Häufige Fehler und Lösungen

  • Fehler: "PDF in Excel einfügen funktioniert nicht"

    • Lösung: Stelle sicher, dass das aktive Blatt in Excel "Anlagen" heißt. Andernfalls wird die Datei nicht eingefügt.
  • Fehler: PDF-Icon wird nicht angezeigt.

    • Lösung: Überprüfe, ob der Pfad zur Icon-Datei korrekt ist. Du kannst den IconFileName Parameter weglassen, um das Standard-Icon zu verwenden.
  • Fehler: Der gesamte Pfad wird angezeigt.

    • Lösung: Verwende IconLabel:=Dir(Dateiname), um nur den Dateinamen anzuzeigen.

Alternative Methoden

  1. Direktes Einfügen ohne VBA:

    • Gehe zu "Einfügen" > "Objekt" > "Aus Datei erstellen". Wähle die PDF-Datei aus und setze ein Häkchen bei "Als Symbol anzeigen".
  2. PDF in Excel einfügen als Bild:

    • Öffne die PDF-Datei, mache einen Screenshot der gewünschten Seite und füge diesen Screenshot in Excel ein.

Praktische Beispiele

  • Beispiel 1: Wenn du eine PDF-Rechnung in dein Excel-Dokument einfügen möchtest, nutze den VBA-Code, um die Rechnung als Symbol zu hinterlegen, damit das Excel-Dokument übersichtlich bleibt.

  • Beispiel 2: Du kannst mehrere PDF-Dateien in einem Arbeitsblatt einfügen, indem du den Code mehrfach ausführst und verschiedene PDFs auswählst.


Tipps für Profis

  • Nutze DisplayAsIcon:=False, wenn du die erste Seite der PDF sehen möchtest. Dies kann nützlich sein, um einen schnellen Überblick über den Inhalt zu erhalten.

  • Verwende Hyperlinks, um schnell auf die Dateien zuzugreifen. Du kannst die Zelle hinter dem eingefügten PDF-Symbol verlinken, sodass du direkt zur Datei navigieren kannst.


FAQ: Häufige Fragen

1. Wie füge ich mehrere PDF-Dateien in Excel ein?
Du kannst den VBA-Code mehrfach ausführen oder eine Schleife innerhalb des Codes implementieren, um mehrere Dateien nacheinander auszuwählen.

2. Kann ich PDFs in Excel als Bild einfügen?
Ja, du kannst die PDF-Datei öffnen, die gewünschte Seite kopieren und als Bild in Excel einfügen.

3. Wie kann ich die PDF-Datei in eine Zelle einfügen?
Das direkte Einfügen einer PDF-Datei in eine Zelle ist nicht möglich, aber du kannst das Symbol in der Nähe der Zelle platzieren.

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