WD2003: Shape löschen

26/03/2009 - 14:53 von Klaus Trapp | Report spam
Hallo,

ich möchte Shapes, die als Wasserzeichen benutzt werden, löschen.
Diese Shapes fangen alle mit dem gleichen Namen an.

For Each shp In Selection.HeaderFooter.Shapes
If shp.Type = msoTextEffect Then
If Left$(shp.Name, Len(mc_Watermark)) = mc_Watermark Then
shp.Delete
End If
End If
Next

wobei Selection die Sections des Documents durchlàuft.
Leider bekomme ich immer wieder Fehler 70 - Zugriff verweigert.
Woran kann das liegen?
Das Wasserzeichen besteht aus einem Wort plus Texteffekte.
Kann man notfalls den Text des Shapes löschen?

Gruß aus Köln am Rhein
Klaus

www.trappdata.de
 

Lesen sie die antworten

#1 Lisa (Nora Richter)
26/03/2009 - 15:33 | Warnen spam
Hallo Klaus,

wobei Selection die Sections des Documents durchlàuft.
Leider bekomme ich immer wieder Fehler 70 - Zugriff verweigert.
Woran kann das liegen?



wenn die Selection durch die Kopfzeilen làuft, treten solche Effekt
hàufig auf.

ich möchte Shapes, die als Wasserzeichen benutzt werden, löschen.
Diese Shapes fangen alle mit dem gleichen Namen an.



Ich entferne solche Shapes lieber so:

Sub GrafikLoeschen()
' löscht die Shape des angegebenen Namens in allen Kopfzeilen des
Dokuments

Dim myHeader As Word.HeaderFooter
Dim shp As Word.Shape
Dim mySection As Word.Section
Dim mc_Watermark As String

mc_Watermark = "xxx" 'Hier natürlich den Namen einsetzen

For Each mySection In ActiveDocument.Sections
For Each myHeader In mySection.Headers
For Each shp In myHeader.Shapes
If shp.Type = msoTextEffect Then
If Left$(shp.Name, Len(mc_Watermark)) mc_Watermark Then
shp.Delete
End If
End If
Next shp
Next myHeader
Next mySection

End Sub

Gruß
Lisa
_____
http://www.schreibbuero-richter.de/vba.html

Ähnliche fragen