Office: Excel Range als Bild in Word einfügen

Helfe beim Thema Excel Range als Bild in Word einfügen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich möchte gerne per Makro in einem Wordtemplate Mustergrafiken, die als Platzhalter dienen durch Bereiche in meiner Exceldatei ersetzen, die... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von c_kulicke, 18. Oktober 2024.

  1. c_kulicke Neuer User

    Excel Range als Bild in Word einfügen


    Hallo,

    ich möchte gerne per Makro in einem Wordtemplate Mustergrafiken, die als Platzhalter dienen durch Bereiche in meiner Exceldatei ersetzen, die ich als Bild einfüge. Per Hand mache ich das normalerweise über copy-paste und als Grafik einfügen (A).
    Ich habe nun für das Makro schon diverse Methoden ausprobiert.

    Range(Rangename).Copy
    mit
    Word.Selection.PasteAndFormat (wdChartPicture)
    führt dazu, dass in der Word-Datei das eingefügte Bild blinkt und der Code nicht weiterläuft. Ggf. wartet VBA da auf eine Nutzereingabe. Diese finde ich aber nicht.

    Stattdessen
    Word.Selection.PasteSpecial DataType:=wdPasteMetafilePicture
    führt dazu, dass die Bilder nicht mehr als InlineShapes, sondern als shapes hinterlegt sind (die Einbettung ändert sich auf vor den Text, sodass mehrere Bilder übereinander liegen. Komischerweise betraf die Veränderung selbst beim schrittweisen Ausführen im Debugger in nur dieser einen Zeile mehrere Bilder in Word.

    Daraufhin habe ich versucht mit der .copyPicture Methode zu arbeiten. Diese funktioniert allerdings nur unzuverlässig. Ich habe mit folgendem Code versucht, ein try and catch nazubauen, sodass ich das kopieren mehrfach versuchen kann, da laut Forenrecherche eine Schleife mit mehrmaligem Ausführen des copyPicture Befehls, die einzige Lösung zu sein scheint.

    Dim retry_count As Integer

    Try_Copy:
    On Error GoTo 0
    AppActivate ThisWorkbook.Name
    Application.CutCopyMode = False
    Application.Wait (Now + TimeValue("00:00:01"))
    On Error GoTo Catch
    DoEvents
    Blatt.Range(Rangename).CopyPicture Appearance:=xlScreen, Format:=xlPicture
    DoEvents
    GoTo Continue

    Catch:
    retry_count = retry_count + 1
    If retry_count <= 10 Then
    Resume Try_Copy
    Else
    MsgBox "Grafik: " & Rangename & "auf Blatt " & Blatt.Name & " konnte nicht kopiert werden und wurde nicht ersetzt."
    Exit Sub
    End If

    Continue:
    On Error GoTo 0

    'weiterer Code, um in Word das Bild einzufügen mit .Copy


    Das führte auch nur zu einer geringfügigen Verbesserung, etwa die Hälfte der Bilder wurde eingefügt, die anderen liefen bis zum retry_count Limit.

    Dann habe ich versucht xlScreen durch xlPrinter zu ersetzen. Das führte dazu, dass zwar alle Bilder eingefügt wurden, allerdings hat sich die Auflösung verändert, sodass die Zellumrandungen teils dicker oder schmaler wurden.

    Langsam gehen mir die Ideen aus und auf Foren und mit ChatGPT komme ich auch nicht mehr weiter. Hat jemand möglicherweise noch eine Idee oder eigene Erfahrungen, wie man das umsetzen kann?
     
    c_kulicke, 18. Oktober 2024
    #1
  2. c_kulicke Neuer User
    Gelöst: Die erste Variante PasteAndFormat (wdChartPicture), die auch vom Makrorekorder so aufgezeichnet wird, wenn man ein Bild per Hand einfügt, funktioniert. Das Problem bei mir war, dass im Template durch das Einfügen wahrscheinlich ein dynamisches Feld ausgelöst wurde, dass eine Eingabe erfordert, aber nicht angezeigt wurde.
     
    c_kulicke, 18. Oktober 2024
    #2
Thema:

Excel Range als Bild in Word einfügen

Die Seite wird geladen...
  1. Excel Range als Bild in Word einfügen - Similar Threads - Excel Range Bild

  2. Excel Range als Bild in email

    in Microsoft Excel Hilfe
    Excel Range als Bild in email: Hi, habe ein kleines Prob. Aus ein Sheet sende ich einen Bereich an eine Person ElseIf Thema = "News" Then mailreceiver = Range("Y58") & ";" & Range("Z58") & ";" & Range("AA58") Datum...
  3. ActiveCell, Range und FormulaLocal in Excel

    in Microsoft Excel Hilfe
    ActiveCell, Range und FormulaLocal in Excel: Hallo. Ich habe ein Problem in VBA. Ich möchte, dass Excel in einer bestimmten Zelle einige Zellen nach rechts zählt (diese Anzahl ist variabel) und dann eine Formel einfügt. Die Formel ist...
  4. excel vba range variable

    in Microsoft Excel Hilfe
    excel vba range variable: hallo, ich suche mit der find Methode nach unterschiedlichen Textstellen, die an verschieden Variablen übergeben werden. Sub suchentest() Dim stelle1 As Range Dim stelle2 As Range Dim text1 As...
  5. Excel Rangliste

    in Microsoft Excel Hilfe
    Excel Rangliste: Hallo zusammen, ich habe mir schon die Finger wund gesucht, aber leider nichts gefunden. Folgender Sachverhalt: Ich möchte eine Rangliste 1-10 erstellen, allerdings mit mehreren Doppelungen....
  6. Excel bubble charts: data labels verschwinden trotz Definition einer Cell Range

    in Microsoft Excel Hilfe
    Excel bubble charts: data labels verschwinden trotz Definition einer Cell Range: Hallo zusammen, ich habe mehrere Bubble Charts mit >20 Datenpunkten (Bubbles) erstellt, dessen Werte und damit Lage im Graphen sich in Abhängigkeit von diversen Dropdowns ändern. Die Bubble...
  7. VBA Excel-Sheet-Range in pdf-Datei speichern und als Anhang mit outlook versenden

    in Microsoft Excel Hilfe
    VBA Excel-Sheet-Range in pdf-Datei speichern und als Anhang mit outlook versenden: Hallo, versuche mich unter Office 2013 verzweifelt :confused:in VBA mit folgendem Code: Sub RANGE_als_PDF_Datei_per_Outlook_versenden() 'folgendes Makro konvertiert einen bestimmten Range...
  8. Excel 2010 - Klick auf Zelle öffnet UserForm

    in Microsoft Excel Hilfe
    Excel 2010 - Klick auf Zelle öffnet UserForm: Hallo Ihr Lieben, Habe folgenden Sub: Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 9 And Target.Row >= 6 And Target.Row <= 183 Then UserForm1.Show End Sub...
  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