Moin! Also guru ist wohl ein wenig übertrieben. :-) Also grundsätzlich geht alles. Die Frage ist, ob die Textmarke eine offene (nur die Stelle) oder eine geschlossene (Bereich markiert) ist. Für die offene (die Textmarke bleibt nach dem Bild einfügen vorhanden) würde folgendes gehen.
Sub Bild_loschen()
Dim anzahl As Long
Dim i As Long
anzahl = ActiveDocument.InlineShapes.Count
For i = 1 To anzahl
If ActiveDocument.InlineShapes.Item(i).Range.Start = ActiveDocument.Bookmarks("TM_Unterschrift").Range.Start Then
ActiveDocument.InlineShapes.Item(i).Delete
End If
Next i
end sub
Der Code prüft, ob es Bilder gibt und wenn bei der Stelle der Textmarke ein Bild ist, löscht er es.
Alternativ auch so, dann muss aber sich sein, dass es ein Bild gibt.
ActiveDocument.Range(Start:=ActiveDocument.Bookmarks("TM_Unterschrift").Range.Start, End:=ActiveDocument.Bookmarks("TM_Unterschrift").Range.Start + 1).Delete
Sollte es da kein Bild geben, wird ein Zeichen gelöscht - bei der Variante also aufpassen.
Sollte es eine geschlossen Textmarke sein, nochmal melden. Dann müsste man die Stelle voher kennen und die explizit ansprechen und ggf. löschen. Dann könnte man noch eine neue Textmarke setzen - die dann aber nur offen ist, da man den Bereich, der Anfangs als Textmarke markiert war, nicht kennt. Gehe aber mal von einer der obigen Varianten aus. Schönen Abend noch
|