Macrobutton Text ändern

02/02/2009 - 08:51 von Peter Haider | Report spam
Hallo NG,

Der angezeigte Text eines selektierten Makrobuttons im
Word(2003, SP2)-Dokumentes soll geàndert werden.

Alt: MACROBUTTON Makro AAA
Neu: MACROBUTTON Makro BBB

Dachte am einfachsten wàr:
Selection.Fields(1).Code = "MACROBUTTON Makro BBB"

Nur funkts so leider nicht.
Hat jemand einen Tip??

Danke, Peter
 

Lesen sie die antworten

#1 Christian Freßdorf
02/02/2009 - 09:51 | Warnen spam
Hallo Peter,

das funktioniert:

selection.Fields(1).Code.Text=" MACROBUTTON MeinMakro Neuer Text"

Oder wenn Du den Text per Makro austauschen möchtest mit folgender
Funktion:

Function fkt_ChangeMACROBUTTONText(sOld As String, sNew As String) As String
Dim fld As Field
Dim a_Code() As String
Dim sCode As String, i As Integer
If Selection.Fields.Count = 0 Then Exit Function
Set fld = Selection.Fields(1)
If fld.Type <> wdFieldMacroButton Then Exit Function
a_Code() = Split(Trim(fld.Code.Text), " ") ' Da mehrere Wörter
For i = 2 To UBound(a_Code())
sCode = sCode & " " & a_Code(i)
Next i
sCode = Trim(sCode)
If sOld = sCode Then
fld.Code.Text = Replace(fld.Code.Text, sOld, sNew)
fld.Update
Else
fkt_ChangeMACROBUTTONText = sCode
End If
Set fld = Nothing
End Function
' Aufruf:
Sub ChangeText()
Dim ret As String
ret = fkt_ChangeMACROBUTTONText("Neuer Anzeigename", "AnzeigeText")
' Aufruf fkt_ChangeMACROBUTTONText "Aktueller Text" "Zu ersetzender Text"
If ret <> "" Then MsgBox "Suchtext nicht gefunden!" & vbCrLf & "Macrobuttontext: " & vbCrLf & ret, vbCritical
End Sub

Gruß Christian
~~~~~~~~~~~~
Antworten / Rückmeldungen nur in die NG!
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)

Ähnliche fragen