Office: VBA: "Inhalte einfügen - Bild"

Helfe beim Thema VBA: "Inhalte einfügen - Bild" in Microsoft PowerPoint Hilfe um das Problem gemeinsam zu lösen; Moinsens, allerseits! Ich muß regelmäßig einige Diagramme aus Excel in PowerPoint übertragen und das ist mir langsam manuell etwas zu mühselig.... Dieses Thema im Forum "Microsoft PowerPoint Hilfe" wurde erstellt von miriki, 21. Oktober 2009.

  1. miriki Erfahrener User

    VBA: "Inhalte einfügen - Bild"


    Moinsens, allerseits!

    Ich muß regelmäßig einige Diagramme aus Excel in PowerPoint übertragen und das ist mir langsam manuell etwas zu mühselig.

    Bislang so:
    - Excel Mappe aktivieren, Diagramm-Blatt aktivieren, richtiges Diagramm aktivieren
    - Strg-C und ab damit in die Zwischenablage
    - PowerPoint aktivieren, richtige Seite aktivieren
    - Menü "Bearbeiten - Inhalte einfügen... - Bild"
    - Grafik in richtige Größe skalieren und an die richtige Position verschieben
    Und das ganze für mehrere Diagramme hintereinander...

    Das Skalieren und Verschieben ist per VBA ja kein Problem. Aber für das "Inhalte einfügen - Bild" habe ich bislang keine Lösung. Strg-C in Excel und ein kleiner Button in PowerPoint würden mir schon reichen, noch mehr Automatisierung tut nicht zwingend Not.

    Eine komplette PP-Mappe aus Excel zu erzeugen wäre sicherlich eine Alternative, auch wenn es wegen vorgegebener Muster-PP vielleicht etwas aufwendiger werden würde. Aber nur ein kleiner Button, der die Grafik einfügt, skaliert und verschiebt, mehr brauche ich eigentlich nicht...

    Jemand eine Idee, wie ich das hinkriege? Es muß "Inhalte einfügen" sein, weil das Diagramm keinerlei Bezug mehr zu den Basis-Daten haben darf (und kann: Serverlaufwerke und Berechtigungen...).

    Edith wies mich noch darauf hin, daß ich "PowerPoint 2000" als Version erwähnen sollte... ;-)

    Gruß, Michael
     
  2. BHM
    BHM Erfahrener User
    In Word hab ich das so hinbekommen:

    Selection.PasteSpecial Link:=False, DataType:=wdPasteMetafilePicture, _
    Placement:=wdInLine, DisplayAsIcon:=False

    Schau mal ob Powerpoint das frisst.
     
  3. miriki Erfahrener User
    Leider nein. Zuerst meckert er beim Kompilieren "wdPasteMetafilePicture" als unbekannte Variable an, aber wenn man genauer guckt: "PasteSpecial" scheint der PP-Onlinehilfe gänzlich unbekannt zu sein.

    Das Verrückte ist ja, daß ich es per Menü hinbekomme. Zeichne ich das aber mit dem Makro-Rekorder auf, wird das PasteSpecial einfach kommentarlos weggelassen.

    Gruß, Michael
     
  4. Exl121150 Erfahrener User

    VBA: "Inhalte einfügen - Bild"

    Hallo Michael,

    sucht man in der Hilfe der Entwicklungsumgebung von PP findet man Folgendes (allerdings habe ich PP2007):

    View.PasteSpecial-Methode
    Hilfe > Objektmodellreferenz für PowerPoint > View-Objekt > Methoden
    Shapes.PasteSpecial-Methode
    Hilfe > Objektmodellreferenz für PowerPoint > Shapes-Objekt > Methoden
    TextRange.PasteSpecial-Methode
    Hilfe > Objektmodellreferenz für PowerPoint > TextRange-Objekt > Methoden
    TextRange2.PasteSpecial-Methode

    und im Speziellen findet man für die PasteSpecial-Methode der Shapes-Auflistung Folendes:

    PowerPoint-Entwicklerreferenz
    Shapes.PasteSpecial-Methode
    Fügt die Form der Auflistung der Formen im angegebenen Format hinzu. Wenn es sich beim angegebenen Datentyp um einen Textdatentyp handelt, wird mit dem Text ein neues Textfeld erstellt. Wenn der Einfügevorgang erfolgreich ist, gibt die PasteSpecial-Methode ein ShapeRange-Objekt zurück, das den eingefügten Formenbereich darstellt.
    Syntax

    Code:
    Ausdruck.PasteSpecial(DataType, DisplayAsIcon, IconFileName, IconIndex, IconLabel, Link)
    Ausdruck Eine Variable, die ein Shapes-Objekt darstellt.

    Parameter

    Name Erforderlich/Optional Datentyp Beschreibung
    DataType Optional PpPasteDataType Ein Format für den Inhalt der Zwischenablage, wenn dieser in das Dokument eingefügt wird. Der Standardwert variiert, abhängig vom Inhalt der Zwischenablage. Wenn der angegebene Datentyp im DataType-Argument vom Inhalt der Zwischenablage nicht unterstützt wird, tritt ein Fehler auf.
    DisplayAsIcon Optional MsoTriState MsoTrue, wenn das eingebettete Objekt (oder die Verknüpfung) als Symbol angezeigt werden soll.
    IconFileName Optional String Wenn für DisplayAsIcon der Wert msoTrue festgelegt wird, ist dieses Argument der Pfad und der Dateiname der Datei, in der das anzuzeigende Symbol gespeichert wird. Wenn für DisplayAsIcon der Wert msoFalse festgelegt wird, wird dieses Argument ignoriert.
    IconIndex Optional Long Wenn DisplayAsIcon den Wert msoTrue hat, ist dieses Argument eine Zahl, die dem Symbol entspricht, das in der von IconFilename festgelegten Programmdatei verwendet werden soll. 0 (Null) entspricht beispielsweise dem ersten Symbol, und 1 entspricht dem zweiten Symbol usw. Wenn dieses Argument nicht angegeben wird, wird das erste Symbol (Standardwert) verwendet. Wenn DisplayAsIcon den Wert msoFalse hat, wird dieses Argument ignoriert. Wenn IconIndex außerhalb des Gültigkeitsbereichs liegt, wird das Standardsymbol (Index 0) verwendet.
    IconLabel Optional String Wenn für DisplayAsIcon der Wert msoTrue festgelegt wird, ist dieses Argument der Text, der unterhalb des Symbols erscheint. Wenn diese Bezeichnung fehlt, generiert Microsoft PowerPoint eine Symbolbezeichnung basierend auf dem Inhalt der Zwischenablage. Wenn DisplayAsIcon den Wert msoFalse hat, wird dieses Argument ignoriert.
    Link Optional MsoTriState Legt fest, ob eine Verknüpfung zur Quelldatei des Inhalts der Zwischenablage erstellt werden soll. Wenn der Inhalt der Zwischenablage keine Verknüpfung unterstützt, tritt ein Fehler auf.

    Rückgabewert
    ShapeRange

    Anmerkungen


    PpPasteDataType kann eine der folgenden PpPasteDataType-Konstanten sein.
    ppPasteBitmap
    ppPasteDefaultStandardwert
    ppPasteEnhancedMetafile
    ppPasteGIF
    ppPasteHTML
    ppPasteJPG
    ppPasteMetafilePicture
    ppPasteOLEObject
    ppPastePNG
    ppPasteRTF
    ppPasteShape
    ppPasteText

    MsoTriState kann eine der folgenden MsoTriState-Konstanten sein.
    msoCTrue Hat keine Gültigkeit für diese Methode.
    msoFalseStandardwert Zeigt das eingebettete Objekt (bzw. die Verknüpfung) nicht als Symbol an.
    msoTriStateMixed Hat keine Gültigkeit für diese Methode.
    msoTriStateToggle Hat keine Gültigkeit für diese Methode.
    msoTrue Zeigt das eingebettete Objekt (bzw. die Verknüpfung) als Symbol an.

    Wenn sich beim Aufruf der PasteSpecial-Methode keine Daten in der Zwischenablage befinden, tritt ein Fehler auf.


    Beispiel


    Im folgenden Beispiel wird eine Bitmapgrafik in einem anderen Fenster als Symbol eingefügt. In diesem Beispiel wird davon ausgegangen, dass zwei Fenster geöffnet sind und im ersten Fenster aktuell eine Bitmapgrafik ausgewählt ist.

    Code:
    Visual Basic für Applikationen 
    Sub PasteOLEObject()
        Windows(1).Selection.Copy
        Windows(2).View.PasteSpecial DataType:=ppPasteOLEObject, _
            DisplayAsIcon:=msoTrue, IconLabel:="New Bitmap Image"
    End Sub
     
    Exl121150, 22. Oktober 2009
    #4
  5. BHM
    BHM Erfahrener User
    Aaalso, ich hab mal rumprobiert (mit Office 2007 allerdings):

    Setzt voraus, dass Du die Grafik bereits in der Zwischenablage hast.

    Edit meint, wenn Du einen anderen DataType willst, guckst Du im Post hierdrüber, da steht die Liste.
     
  6. miriki Erfahrener User
    Tja, leider gleiches Problem... "ppPasteOLEObject" wird sofort als unbekannte Variable angemeckert, was aber auch wieder nur daran liegt, daß "PasteSpecial" unter PP-VBA, zumindest in der 2000er-Version, nicht bekannt ist und dementsprechend auch die Konstanten für die Parameter nicht deklariert sind.

    Mittlerweile bin ich schon soweit, es aus anderer Richtung zu probieren. In Excel nicht einfach Strg-C auf dem Diagramm, sondern dort direkt schon ein "Bild" herauszukopieren. Wenn man die Shift-Taste drückt und dann ins Menü bearbeiten geht, ändert sich dort "kopieren" ja in "Bild kopieren". Allerdings fehlt mir dann der Ansatz, wie ich es von Excel-VBA-Seite aus in PP eingefügt, skaliert und verschoben kriege.

    Also konkret im Excel-VBA:
    Code:
    ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, Format:=xlBitmap
    Gruß, Michael
     
  7. BHM
    BHM Erfahrener User
    Hast Recht. Schau mal hier: http://support.microsoft.com/kb/222721/de
     
Thema:

VBA: "Inhalte einfügen - Bild"

Die Seite wird geladen...
  1. VBA: "Inhalte einfügen - Bild" - Similar Threads - VBA Inhalte einfügen

  2. Zelle per VBA auf ihren Inhalt prüfen und reagieren sowie bei Änderung

    in Microsoft Excel Hilfe
    Zelle per VBA auf ihren Inhalt prüfen und reagieren sowie bei Änderung: Hallo zusammen, ich habe mit etwas verheddert und hoffe auf Eure Hilfe. Die Felder B111 und B112 sind zu Beginn LEER. B111 bietet ein Dropdown-Menü an, welches im Falle der Auswahl "Angebot mit...
  3. VBA: 2 Tabellenblätter Inhalte kopieren und in eine Excelmappe einfügen und als .xlsm speichern

    in Microsoft Excel Hilfe
    VBA: 2 Tabellenblätter Inhalte kopieren und in eine Excelmappe einfügen und als .xlsm speichern: Hallo Excel-Freaks, ich bin gerade mit einem Code beschäftigt und komme nicht weiter. Gewünscht wäre ein Makro: Zwei Tabellenblätter Inhalte kopieren und in eine Excelmappe einfügen und als .xlsm...
  4. [EILT] Bestimmte Inhalte einer Zelle in eine andere Zelle kopieren und die Anzahl ausrechnen

    in Microsoft Excel Hilfe
    [EILT] Bestimmte Inhalte einer Zelle in eine andere Zelle kopieren und die Anzahl ausrechnen: Hallo zusammen, ich muss dringend bis Montag eine Liste fertigstellen, dass folgendes beinhaltet: Alle Mailadressen, die in der Zeile A2 sind, müssen untersucht werden und die Mailadressen mit...
  5. Inhalte Einfügen VBA

    in Microsoft Excel Hilfe
    Inhalte Einfügen VBA: Hallo alle zusammen, Ich habe eine Frage: Wie kann ich denn nur die Inhalte einfügen anstatt meinen ganzen Bereich zu kopieren^^ wäre sehr dankbar über eine kurze Hilfe. Bis jetzt sieht mein...
  6. Datenbereiche synchron erweitern (Zeilen einfüge/löschem/Inhalt kopieren)

    in Microsoft Excel Hilfe
    Datenbereiche synchron erweitern (Zeilen einfüge/löschem/Inhalt kopieren): Hallo zusammen, ich habe mich einmal an einem Zeitplan versucht, was soweit auch bisher ganz gut geklappt hat. Die Mitarbeiterliste habe ich in den Monaten bzw. auch in anderen...
  7. VBA / kopieren+inhalte einfügen--> Fehler 400

    in Microsoft Excel Hilfe
    VBA / kopieren+inhalte einfügen--> Fehler 400: Hallo, ich komme nicht wirklich weiter... ich versuche einen copy-insertbefehl in ein existierendes makro zu intergrieren und es kommt immer ein Fehler 400 Von 1.xls soll ein bestimmter...
  8. VBA: "Inhalte einfügen - Bild"

    in Microsoft Excel Hilfe
    VBA: "Inhalte einfügen - Bild": Moinsens, allerseits! Es geht um den Export von Diagrammen aus Excel heraus und den Import als Bild in PowerPoint. Ich hab das Ding ursprünglich in Microsoft PowerPoint Hilfe eingestellt, aber...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden