1

VBA でマクロボタンを使用して、他のシステムにアクセスして値を計算するフィールドを設定しています。同時に、そのフィールドをダブルクリックして、他のシステムからデータを取得するために使用する設定を指定できるようにしたいと考えています。 .

マクロ全体は正常に動作しますが、マクロボタンのラベルを変更する方法がわかりません。

通常、マクロボタンは次のようになります { MACROBUTTON macro_name label {some_arg}{some_arg2} }

selection.fields(1).code.text にアクセスして、正規表現を実行して「ラベル」を別のものに置き換えてみましたが、うまくいきません。つまり、引数を失うか、ラベルを台無しにしてしまいます。

この問題に関するアドバイス、またはこれを達成するために使用できる他のタイプのフィールドの提案はありますか? DOCVARIABLE を使用してもかまいませんが、これらはクリックに応答して引数を運ぶことができませんか?

4

1 に答える 1

2

次のようなことができるはずです。

Sub Testit1()
    Dim strText As String
    Dim strLabel As String
    Dim strNewLabel As String

    strLabel = "Chew"
    strNewLabel = "Devour"

    ' Replace the field code values in the first field to change the label
    strText = ActiveDocument.Fields(1).Code.Text
    ActiveDocument.Fields(1).Code.Text = Replace(strText, strLabel, strNewLabel)
End Sub

これは基本的に、変更したいマクロボタン フィールドのフィールド コード内で検索と置換を行います。 ActiveDocument.Fields(1).Code.Textあなたが探していると思う部分です。

于 2013-04-20T05:14:09.887 に答える