Vba in Word , Shapes ansprechen

Hallo Wisssende,

wenn ich über Einfügen–Grafik-… ein Bild in ein Word-Dokument integriere und dann folgenden Code laufen lasse:

Sub tt()
Dim s
For Each s In ActiveDocument.Shapes
MsgBox s.Name
Next s
End Sub

tut sich nix, das Bild wird nicht gefunden/erkannt.

Klicke ich aber das Bild mit Rechts an, wähle Grafik formatieren und wähle bei Layout „Hinter den Text“, dann erkennt der Code das Bild.

Wieso daß denn?

Oder andersrum gefragt, wie spreche ich per Vba in Word Bilder an, die ein beliebiges Layout haben, also alle Bilder!?

Danke ^ Gruß
Reinhard

Hallo Reinhad,

Word hat auch noch eine Objekt-Kategorie die nennt sich InlineShapes. Unter diese fallen dann auch eingbettete Bilder, die via Grafik-einfügen in das Dokument eingebaut wurden.

Sub ShapesHinundHer()
'
 Dim objInlineShape As InlineShape, objShape As Shape, intI As Integer, strMsg As String
 MsgBox "InlineSapes: " & ActiveDocument.InlineShapes.Count & vbLf \_
 & "Shapes: " & ActiveDocument.Shapes.Count
 strMsg = "Inline Shapes-Liste"
 intI = 0
 For Each objInlineShape In ActiveDocument.InlineShapes
 intI = intI + 1
 strMsg = strMsg & vbLf & "I-Shape Nr. " & intI
 objInlineShape.ConvertToShape
 Next
 MsgBox strMsg
 MsgBox "InlineSapes: " & ActiveDocument.InlineShapes.Count & vbLf \_
 & "Shapes: " & ActiveDocument.Shapes.Count
 intI = 0
 strMsg = "Shapes-Liste"
 For Each objShape In ActiveDocument.Shapes
 intI = intI + 1
 strMsg = strMsg & vbLf & intI & " " & objShape.Name
 Next
 MsgBox strMsg
 For Each objShape In ActiveDocument.Shapes
 objShape.ConvertToInlineShape
 Next
End Sub

Mit den beiden Shape-Sorten sind unterschiedliche EIgenschaften verbunden. Probieren geht dabei über studieren.

Gruß
Franz

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

Word hat auch noch eine Objekt-Kategorie die nennt sich
InlineShapes. Unter diese fallen dann auch eingbettete Bilder,
die via Grafik-einfügen in das Dokument eingebaut wurden.

Hallo Franz,

danke dir für deine Mühen :smile:

Aber du weißt ja wie es ist, reichste mir den kleinen Finger will ich die ganze Hand *lächel*

Word ist nicht so mein Ding, da stehe ich noch ganz am Anfang.
In Excel habe ich mit Shapes alle Bilder *glaub*. InlineShapes gibt es da wohl auch (noch nie benutzt) und auch im Index der Excel-Vba Hilfe erscheint InlineShape, allerdings kommt dann als Hilfe das Nachfolgende und da verstehe ich einiges nicht.
Ist ScriptAnchor etwas „Bekanntes“ in Word? Ich kann mir zwar den Begriff übersetzen, aber kenne ihn nicht.

Die Word-Vba Hilfe zu InlineShape muß ich mir noch anschauen.

Danke ^ Gruß
Reinhard

Dies erscheint wenn man in Excel-Vba auf die Hilfe zu InlineShape klickt:

Shape-Eigenschaft

Gibt ein Shape- oder InlineShape-Objekt zurück, je nach Microsoft Office-Hostanwendung. Schreibgeschützter Object-Wert.

Hinweise

Die Shape-Eigenschaft gibt in Microsoft Excel und PowerPoint ein Shape-Objekt zurück. In Word gibt sie ein Shape-Objekt zurück, wenn der Scriptanchor frei beweglich ist. Handelt es sich jedoch um einen in der Zeile stehenden Scriptanchor, dann gibt diese Eigenschaft ein InlineShape-Objekt zurück.