Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1856to1860
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 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!! :)

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
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...
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 ;)
Anzeige
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
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

108 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige