Hallo xlKing,
es scheint wohl nur mit InlineShapes zu funktionieren. Einen englischen Namen für den Button "vor den Text" konnte ich nicht finden, außer eben "Shape".
Dann habe ich noch einen Code gefunden:
ActiveDocument.InlineShapes(1).ConvertToShape
Den habe ich umgestellt:
ActiveDocument.Shapes(1).ConvertToInlineShape
Beide Codes funktionieren auch, also der Button wechselt die Position, wie er soll, aber dann kommt im VBA die Fehlermeldung:
"Wechsel in den Haltemodus ist zu diesem Zeitpunkt nicht möglich"
Und egal, ob ich auf "Fortfahren" oder auf "Beenden" klicke, springt er Code wieder auf Anfang.
.
.
.
Und jetzt klappt es doch!
Ich hatte den Code schrittweise über "F8" ausgeführt. Dann kommt tatsächlich die Fehlermeldung.
Aber wenn ich den Sub auf den Button lege, und von da starte, dann funktioniert er:
Private Sub CommandButton2_Click()
Dim dialog As Object
Dim pfad As String
Dim datei As String
pfad = "C:\Users\User\Downloads\000-23.docm"
Set dialog = Application.FileDialog(msoFileDialogSaveAs)
With dialog
.InitialFileName = pfad
.Show
End With
If dialog <> False Then dialog.Execute
ActiveDocument.Shapes(1).ConvertToInlineShape
'-----------------< 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
MsgBox "Jetzt klappts"
End Sub
Danke, das war Hilfe zur Selbsthilfe
|