Office-Fragen.de
vba löschen mehrerer CommandButten - Druckversion

+- Office-Fragen.de (https://office-fragen.de)
+-- Forum: Microsoft Office (https://office-fragen.de/forum-1.html)
+--- Forum: Word (https://office-fragen.de/forum-3.html)
+--- Thema: vba löschen mehrerer CommandButten (/thread-3187.html)



vba löschen mehrerer CommandButten - svensxx - 29.09.2019

Hallo @all,
 
folgendes Problem: beim betätigen eines CommandButtens (AktivX) soll dieser gelöscht werden. Es sind im Text verschiedene Butten verteilt die in unterschiedlicher Reihenfolge betätigt werden. ich nutze folgendes Script:
 
    ActiveDocument.Shapes(1).Delete
 
das klappt aber nur beim ersten Butten. da nach dem speichern sich die Reihenfolge der Shapes ändert. und somit meist ein anderer Butten gelöscht wird. wenn ich Grafiken im Word-Dokument Lösche kann ich sie direkt ansprechen mit:
 
    ActiveDocument.Shapes.Range(Array("Jens")).Delete
 
Dann wird die Grafik "jens" gelöscht. Gibt es eine Möglichkeit den Butten mit Namen zu versehen und ihn genau anzusprechen. 
 
ich hab schon gegoogelt aber da finde ich nichts. in EXCEL ist das total einfach aber in Word scheint das nicht so einfach zu sein...
 
Vielen Dank im voraus.....
 
Gruß Sven


RE: vba löschen mehrerer CommandButten - steve1da - 29.09.2019

Hola,

zur Info:

http://www.vba-forum.de/forum/View.aspx?ziel=53869-vba_l%C3%B6schen_mehrerer_CommandButten
http://www.office-loesung.de/p/viewtopic.php?f=162&t=818798
https://www.ms-office-forum.net/forum/showthread.php?t=362727

Und in den anderen Foren machst du das jetzt bitte.

Gruß,
steve1da


RE: vba löschen mehrerer CommandButten - Mase - 29.09.2019

Danke, steve.


LÖSUNG: vba löschen mehrerer CommandButten - svensxx - 01.10.2019

Ich habe eine Lösung gefunden. Für alle die das selbe Problem haben hier das Script:

für Command Butten VOR oder HINTER dem Text:

Sub Butten_Delete_Click()
'
Dim IShp As Shape
'
' Loschen Butten ButtenDeltele
'
For Each IShp In ActiveDocument.Shapes
    If IShp.OLEFormat.Object.Name = "Butten_Delete" Then
      IShp.Delete
      Exit For
    End If
Next
'
End Sub

für Command Butten im Text:

Sub Butten_Delete_Click()
'
Dim IShp As InlineShape
'
' Loschen Butten ButtenDeltele
'
For Each IShp In ActiveDocument.InlineShapes
    If IShp.OLEFormat.Object.Name = "Butten_Delete" Then
      IShp.Delete
      Exit For
    End If
Next
'
End Sub

Wenn ich einigen auf den Schlips getreten bin mit meiner Frage, bitte ich nachträglich um Entschuldigung...

VG
Sven