Excel 2003: PDF variabel in Zelle einbinden ohne VBA möglich?

mschrak

Commander
Registriert
Sep. 2009
Beiträge
2.199
Hallo zusammen,
ich suche nach einer Möglichkeit in einem für den Ausdruck vorgesehenen Tabellenblatt (Formular), ein von einer an anderer Stelle getroffenen Auswahl abhängiges Bild größenmäßig eingepasst einzubinden. Hintergrund ist der Ausdruck von diversen Artikelbildern mit den zugehörigen Artikelstammdaten.
Im Moment sieht es so aus, dass ich das Stammdatenblatt nur mit den Daten erstelle und neben dem Druckbereich einen Hyperlink auf die entsprechende Datei generiere.
=HYPERLINK("C:\bilder\"&Dateiname.pdf"
Dann drucke ich das Stammdatenblatt aus, klicke dann auf den Hyperlink und drucke aus Foxit dann die Pdf dazu.
Nachteil: Deutlicher Mehraufwand und immer Zwei Blatt Papier.
Ich würde gerne in meinem Formular einen verbundenen Zellbereich erstellen, in den dann das pdf automatisch gezeigt wird (eingepasst).
Gibt es für so etwas eine Möglichkeit in Excel, ohne großartik VBA zu machen? Damit kenne ich mich nämlich so gar nicht aus.
Über Hilfe würde ich mich sehr freuen.
Martin
 
Die Bilder liegen also auf dem Laufwerk, und nicht in der Excel?

Dann sehe ich ohne VBA keine Möglichkeit.

Wären die Bilder als Bild im Dokument, auch auf einem anderen Tabellenblatt, ginge es.
 

Anhänge

  • Mappe1.xlsx
    41,6 KB · Aufrufe: 198
  • Gefällt mir
Reaktionen: ella_one
OK. Und wie aufwändig ist so etwas mit VBA?
Die von Dir angehängte Lösung ist sehr interessant, allerdings für meinen Fall vermutlich nicht praktikabel. Es handelt sich um sehr viele DIN A4 Bilder, das würde die Tabelle sprengen.
Ergänzung ()

Und ich muss jetzt nochmal fragen: Wie hast Du dieses Bildobjekt erstellt? Unter welchem Stichwort finde ich das und wie stelle ich den Bezug zu der Auswahl in der Eingabezelle her?
 
Zuletzt bearbeitet:
Das kann ich dir auf die Schnelle auch nicht sagen. Hab sowas noch nie gemacht :D aber es geht. Kommt halt auch auf deine Struktur und Daten an, auf den gewünschten Ablauf etc. pp.

Nur "weiß" ich eben, dass es ohne VBA nicht geht eine externe Datei zu öffnen/anzuzeigen. Zumindest kenne ich keine Möglichkeit dessen :)


Wenn deine Bilder alle als PDF vorliegen, die erste Seite des PDFs ausreicht und ein einfacher Button/Shortcut druck zum "lade Bild in Position X und speichere Seite 1 unter Pfad /XYZ.PDF" genügt, sollte sich der Aufwand in Grenzen halten.


Das PDF laden und Zeigen steht in dem Link (hab ich nicht nachgeprüft, aber ließt sich plausibel), den Pfad müsste man dynamisch generieren aus deinem festen Pfad + Dateiname.pdf. Speichern könnte so aussehen

Code:
Sub Test()

Dim sName As String

Application.ScreenUpdating = False

'Pfad setzen, .xlsx bzw .xls als Endung entfernen, ACHTUNG! Nur einen Pfad aktiv haben!
sName = Replace(ActiveWorkbook.Path & "\" & ActiveWorkbook.Name, ".xlsx", "")  'Pfad1: der geöffneten Tabelle
'sName = Replace(Environ("USERPROFILE") & "\Desktop\" & ActiveWorkbook.Name, ".xlsx", "")  'Pfad2: anderer Pfad
sName = Replace(sName, ".xls", "")

'Speichern als PDF
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    sName, Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=True


Application.ScreenUpdating = True
End Sub

Auch hier, Pfade beachten, habs nur aus einem meiner Makros kopiert und ein bisschen gekürzt.

ja, eigentlich nur ein copy-paste und auf die eigenen Bedürfnisse anpassen dieser beiden.
 
OK. Und wie hast Du das bei deiner geposteten Tabelle gemacht?
Theoretisch kann ich die Bilder auch für diesen Zweck in jpg umwandeln und runterskalieren. Dann wäre das innerhalb der Tabelle auch gar nicht so verkehrt. Habe nur nicht den "Einstieg" gefunden. Objekt einfügen? Selbst wenn ich in Deiner Tabelle das Ergebnisobjekt auswähle, sehe ich nicht den Ansatz, zB die Zelle, aus der die Auswahl gezogen wird, zu ändern...
 
Du meinst Variante 1? Dafür braucht man den Namensmanager unter "Formel"
1642681776791.png


Wie du die Verknüpfung nun gestalltest, ist auch dir überlassen :) Ich hab einfach das Feld B4 hergenommen und schreibe eine 1-3 rein. Über den Index im Namensmanager wird da drauf verwiesen.

man kann natürlich auch rechts neben die Bilder, also in Tabelle Bilder Spalte B, einen Namen eintragen, ebenso in Tabelle1 B4 den gleichen namen und ein Lookup machen lassen. Die Spalte Bilder_B könnte gleichzeitig aus Dropdown Auswahl für das Eingabefehld herhalten. ... oder oder oder :)
 
Super. Das hilft mir beides sehr weiter.
Herzlichen Dank.
 
  • Gefällt mir
Reaktionen: spcqike
Kann denn Office 2003 (de) schon den Namensmanager und englische Formelbezeichnungen? 🤔 Ich meine mich zu erinnern, daß das nicht der Fall war. Zu lange her.


Nix für ungut, aber zuallererstmal sollte ein neueres Office her. Vor allem dann, wenn irgendwelche "interessanten" Dinge damit gemacht werden.
 
Zurück
Oben