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 回答