#

Word Makro: löschen aller Buttons und ActiveX Controls
 
Dieses Makro löscht eine Button und andere Control Elemente zur Laufzeit in einem Word-Dokument.
Die Schwierigkeit beim Löschen eines Buttons per vba Code zur Laufzeit ist, dass das Element selbst den Focus hat während es ausgeführt wird.
Deshalb muss erst der Focus über Selection bewegt werden und anschliessend alle Controls per Control.Delete entfernt werden.
ActiveX Elemente werden in Word unter InlineShapes aufgelistet.
Man muss die InlineShapes im Typ auf wdInlineShapeOLEControlObject prüfen.
 
Aufgabe: das Word Dokument soll einen Button enthalten, welcher zu Anfang einmal gedrückt werden soll und anschliessend soll der Button verschwinden.

 
Nach dem vba Makro-Durchlauf:
Alle Eingabefelder vom Typ OLEControl sind gelöscht

 
 

Option Explicit On
 
Private Sub btnTest_Click()
'-----------------< btnTest_Click() >-----------------
'*Delete Word Button, Option... ActiveX Controls
'< init >
Dim doc As Document
Set doc = Application.ActiveDocument
Selection.MoveStart
'</ init >
 
'----< @Loop: Controls >----
'*loop all InlineShapes
Dim objShape As inlineshape
For Each objShape In doc.InlineShapes
If objShape.Type = wdInlineShapeOLEControlObject Then
'< Is_Control >
'*delete Control
objShape.Delete
'< Is_Control >
End If
Next
'----</ @Loop: Controls >----
'-----------------</ btnTest_Click() >-----------------
End Sub
 

 
 
 
Video Tutorial:
Mobile

.

0123movie.net