online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Seradest vom 20.08.2019, 14:54 Options

PDF File in Excel-Worksheet anzeigen

Hallo,
ich möchte in einem Excel Arbeitsblatt ein PDF anzeigen, je nach Auswahl in einer ComboBox. Jetzt stellt sich mir die Frage: Geht das mit dem "Adobe Acrobat 7.0 Browser Document" Steuerelement bzw was für ein Steuerelement muss ich dafür benutzen? Wo finde ich zu dem Objekt eventuell ne Beschreibung, damit ich weiß wie ich das Ding zu verwenden habe?
Hat da jemand Erfahrung mit?


Antwort schreiben

Antwort 1 von coros vom 20.08.2019, 15:15 Options

Hallo Namenloser,

ich würde das nicht mit einem Steuerelement, sondern über "Einfügen => Objekt..." und dort dann mit"Adobe Acrobat Dokument" realisieren. Das ganze kann man auch als Makro erstellen, damit je nach Auswahl Deiner ComboBox das richtige PDF-Dokument eingefügt wird.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Seradest vom 21.08.2019, 09:15 Options

Ja ok, das Objekt einfügen funktioniert natürlich und ist einfacher. Es gibt trotzdem ein Problem. Das Objekt wird mit diagonalen Linien dargestellt und zwar solange bis das Original einmal geöffnet wurde, danach ist der Hintergrund wie im Original weiß. Irgendwelche Ideen?

Antwort 3 von Seradest vom 21.08.2019, 09:29 Options

Ok das mit den Linie habe ich geklärt. Das ist weil das Original gleichzeitig mit dem einfügen des Objektes geöffnet wird. Kann man das verhindern?

Antwort 4 von Seradest vom 21.08.2019, 10:04 Options

Ok ein weiteres Problem. Das Makro zeichnet nur auf dass ein Adobe-Objekt eingefügt wird, nicht aus welcher Datei. Wie lege ich die Quelldatei fest?

Antwort 5 von coros vom 21.08.2019, 12:11 Options

Hallo ?????,

gestatte mir zum Anfang eine kleine Anmerkung. Ein Hallo am Anfang und ein Gruß am Ende würde Deinen Beitrag gleich viel netter aussehen lassen. Wenn Du zum Bäcker gehst sagst Du ja auch beim Reingehen "Guten Tag" und beim Gehen "Auf Wiedersehen". Denn die Leute, an die Du Deine Frage richtest, sitzen zwar am PC, sind aber dennoch Menschen.

Zu Deinen Fragen, kann ich Dir leider nicht weiterhelfen, da ich damit noch nicht gearbeitet habe und mir im Moment die Zeit fehlt, mich damit jetzt intensiv zu beschäftigen.
Aber eventuell hat ja noch jemand anderes eine Idee.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 6 von Seradest vom 21.08.2019, 13:41 Options

Hallo Oliver,
tut mir leid wegen der Umgangsformen. In den Foren in denen ich sonst verkehre ist es nicht üblich sich in jedem Beitrag zuerst zu begrüßen. (In einem Gespräch begrüße ich mein Gegenüber ja auch nicht vor jedem Satz, aber das ist sicherlich eine Frage des Verständnisses dieses Kommunikationsmediums) Aber ich passe mich gern den hiesigen Gewohnheiten an. Danke erstmal so weit für die Hilfe, vielleicht werd ich ja noch fündig.

Grüße
Carsten

Antwort 7 von coros vom 21.08.2019, 14:42 Options

Hallo Carsten,

mich hat es nun doch interessiert, wie man ein PDF-Dokument in Excel anzeigen lassen kann. Mit nachfolgender Befehlszeile sollte Dir dasPDF-Dokument "Test.pdf" aus dem Verzeichnis "C:\Eigene Dateien\" eigefügt werden. Das Ganze ohne dass die PDF-Datei geöffnet und somit die Schraffierung entsteht. DenPfad musst Du natürlich anpassen.

    [b]ActiveSheet.OLEObjects.Add(Filename:= _
        "C:\Eigene Dateien\Test.pdf", Link _
        :=False, DisplayAsIcon:=False).Select[/b]



MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 8 von Seradest vom 22.08.2019, 10:26 Options

Hallo,
super! Da wäre ich nie drauf gekommen. Wofür die richtigen PDF-Objekte dann gedacht sind werd ich dann später mal ausprobieren :)
Funktioniert wie gewünscht. Danke!

Antwort 9 von Seradest vom 22.08.2019, 11:28 Options

Hi,
eine Frage hab ich noch. Kann man den Quellpfad des Objektes im Nachhinein noch ändern? Oder muss ich dafür das Objekt löschen und ein neues mit neuem Pfad bzw. Dateinamen laden?

Grüße
Carsten

Antwort 10 von coros vom 22.08.2019, 11:37 Options

Hallo Carsten,

das bereits vorhande PDF-Dokument muss gelöscht und danach kann das neue eingefügt werden. Wenn Du das vorhandene nicht löscht, wird das neue darüber gelegt. Ist zwar weiter nicht schlimm, bläht aber die Datei unnötig auf.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 11 von Seradest vom 22.08.2019, 11:50 Options

Ok Oliver,
dann löschen und neu einfügen, die Abbildung ändert sich zu oft, als dass man es drin lassen könnte. Danke für die Hilfe.

Grüße
Carsten

Antwort 12 von coros vom 22.08.2019, 11:58 Options

Hallo Carsten,

aber auch dass kann man automatisieren. Mit nachfolgendem Makro wird Dir beim Einfügen das Objekt in PDF umbenannt. Beim nächsten Aufruf wird dieses Objekt gelöscht, das neue eingefügt und wieder umbenannt in PDF. Somit wird dann jedesmal, wenn ein neues eingefügt wird, das alte gelöscht.

Bitte starte nachfolgendes Makro in einer Datei, in der noch kein PDF-Objekt eingefügt wurde.

[b]Option Explicit

Sub PDF_löschen_einfügen()
On Error Resume Next
ActiveSheet.Shapes("PDF").Delete
ActiveSheet.OLEObjects.Add(Filename:= _
"C:\Eigene Dateien\Test.pdf", Link _
:=False, DisplayAsIcon:=False).Select
Selection.Name = "PDF"
End Sub[/b]



MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 13 von Seradest vom 22.08.2019, 13:06 Options

Hi Oliver,
das habe ich soweit schon hinbekommen, danke. Was mir etwas Probleme bereitet ist die Anfangsposition des erzeugten Objektes. Die obere linke Ecke des Objektes soll in Zelle G2 liegen. Versucht habe ich das wie folgt:


x = Worksheets("Tabelle2").Columns(7).Left
y = Worksheets("Tabelle2").Rows(2).Top
Worksheets("Tabelle2").OLEObjects.Add( Filename:= _
Thisworkbook.Path & Worksheets("Tabelle1").Range("I2"), _
Link:=False, DisplayAsIcon:=False, Left:=x, Top:=y).Select



Nur als Auszug. Sobald ich Left und Top weglasse funktioniert alles.

Antwort 14 von Seradest vom 22.08.2019, 13:09 Options

Noch als Ergänzung. Die Eigenschaft Left und Top nachdem das Objekt eingefügt wurde zu ändern funktioniert auch, ebenso die Größenanpassung. Wenn's anders nicht geht werde ich es auch so lassen, aber ich würde es gern direkt an diese Stelle einfügen, da das ein unschönes Aufflackern des Objektes in der Bildschirmmitte vermeiden würde.

Antwort 15 von coros vom 22.08.2019, 13:25 Options

Hallo Carsten,

schon mal den Befehl

[b]Application.ScreenUpdating = False[/b]


am Anfang des Makros eingefügt. Das schaltet die Bildschirmaktualisierung aus. Damit werden dieses unschöne Flackern beim Abarbeiten eines Makros abgeschaltet. Am Ende wird diese Bildschirmaktualisierung automatisch wieder eingeschaltet.
Andere Möglichkeit wäre, auch wenn ich diese nicht gerne nehme, da ich ungerne mit Select arbeite, die Zelle G2 mit

[b]Range("G2").Select[/b]


anzuspringen, bevor das Dokument eingefügt wird. Dann wird das Dokument von Zelle G2 abwärts und nach rechts eingefügt.

Aber wie schon geschrieben, ich nehme ungern Select. Teste es erst mal nur mit Application.ScreenUpdating = False

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 16 von Seradest vom 22.08.2019, 13:35 Options

Hi Oliver,
Application.ScreenUpdating erfüllt den Zweck, danke. Das mit dem Select kann ich auch nicht leiden...
'Ne Erklärung warum der Code oben nicht funktioniert hast du aber auch nicht oder? Hab extra nachgesehen ob es die Parameter gibt...

Naja danke soweit, ich hoffe das wars dann mit den Problemchen erstmal ^^

Antwort 17 von coros vom 22.08.2019, 13:42 Options

Hallo Carsten,

sorry, aber das mit dem Code aus Deiner AW 13 hatte ich falsch interpretiert. Ich wusste nicht, dass der bei Dir einen Fehler bringt. Das funktioniert nicht, weil die Add-Methode diese Eigenschaften nicht kennt. Daher bringt der Code einen Fehler. Man muss dann halt nach dem Einfügen über ein Makro die Position und die Größe ändern oder man arbeitet hier ausnahmsweise mal mit der Select-Methode. Geht nicht anders.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Ähnliche Themen

Mehrseitiges pdf-file in LaTeX einbinden
Gibson  02.02.2007 - 132 Hits - 2 Antworten

Mehrere Seiten in ein .PDF-File drucken
mKorniK  17.07.2007 - 42 Hits - 2 Antworten

aus Excel Hyperlinks in pdf wandeln ???
HMu  15.08.2007 - 97 Hits -

versteckte Verknüpfungen im Excel-File finden???
HMu  17.08.2007 - 276 Hits - 1 Antwort

OLEObject (PDF) in Userform
Seradest  16.09.2007 - 17 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026