Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: pdf als objekt einfügen, reader schließen ect

pdf als objekt einfügen, reader schließen ect
07.11.2014 22:01:03
Laeubchen
Hallo,
ich möchte eine pdf als Objekt einfügen, was auch soweit funktioniert mit folgendem Code:
Sub ObjektEinfuegen()
Range("E3").Select
ActiveSheet.OLEObjects.Add(ClassType:="AcroExch.Document.11", Link:=False, _
DisplayAsIcon:=False).Activate
Application.Wait DateAdd("s", 5, Now)
Call Acro_Reader_killen
End Sub
Nach ca. 5 Sekunden soll im Hintergrund Acro geschlossen werden, was auch funktioniert.
Sub Acro_Reader_killen()
Const STRPC As String = "."
Dim objWMI As Object, objProcesses As Object, objProcess As Object
Set objWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & STRPC & "\root\ _
cimv2")
Set objProcesses = objWMI.ExecQuery("Select * from Win32_Process Where Name = 'Acrobat.exe'") ' _
oder acrord32.exe
For Each objProcess In objProcesses
objProcess.Terminate
Next
End Sub
Kurrioser Weise sieht die eingefügte pdf straffiert aus.
Gehe ich die oben angefügten Prozeduren manuell durch, so geschieht das auch, jedoch schließe ich den Reader ist die Straffur weg.
Woran kann das liegen ? Ich möchte bzw. muss dieses Objekt noch ein wenig zuschneiden, d.h. vom unteren Rand der Seite muss noch ein wenig abgeschnitten werden.
Vielleicht kann mir Jemand weiterhelfen. Über jedes Feedback bin ich dankbar.
Gruß
Laeubchen

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: pdf als objekt einfügen, reader schließen ect
09.11.2014 20:17:20
Laeubchen
Guten Abend,
habe es gelöst.
Vielleicht interessiert es Jemanden.
Hier meine Lösung und es funktioniert.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("D7:Z7")) Is Nothing Then
Call ObjektEinfuegen
MsgBox "Die pdf Datei wurde eingefügt"
End If
End Sub

Sub ObjektEinfuegen()
Range("F3").Select
ActiveSheet.OLEObjects.Add(ClassType:="AcroExch.Document.11", Link:=False, _
DisplayAsIcon:=False).Activate
Application.Wait DateAdd("s", 3, Now)
ActiveSheet.OLEObjects.Select
Selection.ShapeRange.PictureFormat.CropBottom = 300.47
End Sub
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 als Objekt in Excel einfügen und Reader schließen


Schritt-für-Schritt-Anleitung

Um eine PDF in eine Excel-Datei einzufügen, kannst du den folgenden VBA-Code verwenden. Dieser Code fügt eine PDF-Datei als Objekt ein und schließt den Acrobat Reader nach einer kurzen Wartezeit.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu (Einfügen > Modul).

  3. Kopiere den folgenden Code in das Modul:

    Sub ObjektEinfuegen()
       Range("E3").Select
       ActiveSheet.OLEObjects.Add(ClassType:="AcroExch.Document.11", Link:=False, _
       DisplayAsIcon:=False).Activate
       Application.Wait DateAdd("s", 5, Now)
       Call Acro_Reader_killen
    End Sub
    
    Sub Acro_Reader_killen()
       Const STRPC As String = "."
       Dim objWMI As Object, objProcesses As Object, objProcess As Object
       Set objWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & STRPC & "\root\cimv2")
       Set objProcesses = objWMI.ExecQuery("Select * from Win32_Process Where Name = 'Acrobat.exe'")
       For Each objProcess In objProcesses
           objProcess.Terminate
       Next
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Du kannst das Makro nun über die Entwicklertools ausführen.


Häufige Fehler und Lösungen

  • Problem: Die eingefügte PDF sieht straffiert aus.

    • Lösung: Überprüfe die Größe des eingefügten Objekts. Eventuell musst du die Formateinstellungen anpassen oder die PDF manuell zuschneiden.
  • Problem: Der Acrobat Reader schließt sich nicht.

    • Lösung: Stelle sicher, dass der Name des Prozesses (z.B. Acrobat.exe oder acrord32.exe) korrekt im Code angegeben ist.

Alternative Methoden

Eine andere Möglichkeit, eine PDF in eine Excel-Datei einzufügen, besteht darin, die PDF-Datei in eine E-Mail einzubetten. Dies ist nützlich, wenn du die PDF-Datei nicht direkt in Excel anzeigen möchtest, sondern sie als Anhang versenden willst. Verwende dazu Outlook und nutze die SendMail-Funktion in Excel.


Praktische Beispiele

Hier ist ein Beispiel, das zeigt, wie du eine PDF aus einem bestimmten Bereich in einer Excel-Tabelle einfügen kannst:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("D7:Z7")) Is Nothing Then
        Call ObjektEinfuegen
        MsgBox "Die PDF-Datei wurde eingefügt"
    End If
End Sub

Dieser Code fügt die PDF-Datei ein, wenn du in den Bereich D7:Z7 klickst.


Tipps für Profis

  • PDF-Datei in Excel einfügen: Achte darauf, dass die Datei im richtigen Format vorliegt und die Pfade korrekt angegeben sind.
  • PDF schließen: Verwende die Funktion Terminate, um sicherzustellen, dass der Reader geschlossen wird, bevor du die Datei weiterbearbeitest.
  • Zuschneiden: Nutze die Eigenschaften der Formateinstellung, um die PDF nach dem Einfügen optimal anzupassen.

FAQ: Häufige Fragen

1. Wie kann ich eine PDF in eine E-Mail einbetten?
Du kannst die PDF-Datei als Anhang in eine E-Mail einfügen, indem du die SendMail-Funktion in Excel verwendest.

2. Funktioniert das Einfügen von PDFs in allen Excel-Versionen?
Die oben genannten VBA-Codes sind in den meisten modernen Excel-Versionen anwendbar, allerdings können sich einige Funktionen in älteren Versionen unterscheiden. Stelle sicher, dass du eine kompatible Version verwendest.

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