Mit VBA eine Grafik in den Vordergrund bringen

Hallo,

wer kann mir bei folgender Aufgabenstellung helfen?

Ich füge per Makro eine Grafik in ein Worddokument ein.
Funktioniert auch so, wie es soll.

Jetzt liegt die Grafik mit dem Text in einer Zeile, ich möchte die Grafik aber vor dem Text haben (transparentes png).
Wie baue ich den Schritt „Grafik formatieren --> vor den Text“ in mein Makro ein?

Gruß

Frank

Ich füge per Makro eine Grafik in ein Worddokument ein.
Funktioniert auch so, wie es soll.
Jetzt liegt die Grafik mit dem Text in einer Zeile, ich möchte
die Grafik aber vor dem Text haben (transparentes png).
Wie baue ich den Schritt „Grafik formatieren --> vor den
Text“ in mein Makro ein?

Hi Frank,
zeichne dir doch ein Makro auf in dem du eine Grafik vor den Text legst.
Gruß
Reinhard

Hi Frank,
zeichne dir doch ein Makro auf in dem du eine Grafik vor den
Text legst.
Gruß
Reinhard

Hallo Reinhard,

die Idee hatte ich natürlich auch schon (ist ja naheliegend), aber wenn der Makrorecorder läuft, kann ich die Grafik nicht „anfassen“, sprich auch nicht formatieren.
Wenn ich das richtig sehe, kann ich nur den Code in meinem Macro manuell ergänzen.

Gruß

Frank

die Idee hatte ich natürlich auch schon (ist ja naheliegend),
aber wenn der Makrorecorder läuft, kann ich die Grafik nicht
„anfassen“, sprich auch nicht formatieren.
Wenn ich das richtig sehe, kann ich nur den Code in meinem
Macro manuell ergänzen.

hi Frank,
ich habs jetzt nicht probiert, komme aus der Excel Ecke und da aist das vba anders als bei Word.
Soll das heissen, während du in word ein makro aufzeichnste kannst du kein Bild anklicken formatieren bzw dies wird nicht aufgezeichnet?
Poste mal bitte den Code den du bisher hast, ich schau dann mal.
Gruß
Reinhard

Soll das heissen, während du in word ein makro aufzeichnste
kannst du kein Bild anklicken formatieren bzw dies wird nicht
aufgezeichnet?

Genau so ist es, ich kann das Bild gar nicht erst anklicken.

Code:

Selection.InlineShapes.AddPicture FileName:=„C:\pfad\grafik.png“, _
LinkToFile:=False, SaveWithDocument:=True

Habe ich mit dem Makrorecorder aufgezeichnet.

Gruß

Frank

Soll das heissen, während du in word ein makro aufzeichnste
kannst du kein Bild anklicken formatieren bzw dies wird nicht
aufgezeichnet?

Genau so ist es, ich kann das Bild gar nicht erst anklicken.

Hi Frank,
mit dem vba von word komme ich nicht gut klar :frowning:, ist das nachfolgende hilfreich?

Sub Makro13()
Dim a As Shape
Set a = ActiveDocument.Shapes.AddPicture(„D:\Eigene Dateien\Eigene Bilder\00ElFamosoVideoDePamela.jpg“, _
False, True, , , , , ActiveDocument.Range)
a.Left = 0: a.Top = 0
a.WrapFormat.Type = wdWrapNone
a.WrapFormat.Side = wdWrapBoth
a.LockAspectRatio = msoTrue
a.Width = CentimetersToPoints(3)
Set a = Nothing
End Sub

Gruß
Reinhard

Sub Makro13()
Dim a As Shape
Set a = ActiveDocument.Shapes.AddPicture(„D:\Eigene
Dateien\Eigene Bilder\00ElFamosoVideoDePamela.jpg“, _
False, True, , , , , ActiveDocument.Range)
a.Left = 0: a.Top = 0
a.WrapFormat.Type = wdWrapNone
a.WrapFormat.Side = wdWrapBoth
a.LockAspectRatio = msoTrue
a.Width = CentimetersToPoints(3)
Set a = Nothing
End Sub

Vielen Dank, konnte ich genau so übernehmen („a.Width = CentimetersToPoints(3)“ hab ich gelöscht, da ich die Originalgröße der Grafik brauche).

Gruß

Frank

Jetzt liegt die Grafik mit dem Text in einer Zeile, ich möchte
die Grafik aber vor dem Text haben (transparentes png).
Wie baue ich den Schritt „Grafik formatieren --> vor den
Text“ in mein Makro ein?

Hi Frank,
ich mache Excel, fast nie word, deshalb bist du da fitter, man kann ja beim Grafik formatieren 4-5 Zustände auswählen, hinter, vor dem Text usw,
was schreibt man da in den word-Vba-code für jeden dieser 5 Zustände? Ich wurde aus dem Code von mir nicht ganz schlau :smile:
Gruß
Reinhard

was schreibt man da in den word-Vba-code für jeden dieser 5
Zustände? Ich wurde aus dem Code von mir nicht ganz schlau :smile:

Genau dass war ja die Frage, ich weiß es nicht.
Bin sicher auch nicht so doll fit in VBA, Makrorecorder und Google für Ergänzungen und Anpassungen :wink:

Gruß

Frank

Lösung f. Grafik vor dem Text, hinter dem Text usw
Hallo,
beide Subs sind gleichwertig in der Wirkung:

Sub tt()
Fluss = Array(wdWrapSquare, wdWrapTight, wdWrapThrough, wdWrapNone, wdWrapTopBottom)
For n = 0 To 4
 Selection.ShapeRange.WrapFormat.Type = Fluss(n)
 MsgBox "Wrapformat= " & Fluss(n)
Next n
End Sub

Sub tt2()
For n = 0 To 4
 ActiveDocument.Shapes("Picture 2").WrapFormat.Type = n
 MsgBox "Wrapformat= " & n
Next n
End Sub

Gruß
Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]