0

这个想法是创建一个 word 文档,插入几个 [FIELD] 并更改 [FIELD] 值,这样用户就不必手动进行更改。在宏中,我有一个需要用户输入的对话框,然后宏计算了一些东西,但我无法分配计算结果并将其显示在文本中。

如果简化,它看起来像这样:

Sub user_input()
Dim start_date_user As String

start_date_user = InputBox("Enter start date in DD.MM.YYYY format", "Start date", "01.01.2022")

ActiveDocument.Variables("DOC_START").Value = start_date_user 

  
End Sub

然后我在WORD文档中有以下文本(定义了FIELD)

bla bla bla {DOCVARIABLE "DOC_START" \ *MERGEFORMAT} bla bla bla

我希望它是

bla bla bla 01.01.2022 bla bla bla

反映用户输入的日期。但它不起作用,word文档保持不变。就在它反映了变化之后,它就停止了,所以不确定我到底做错了什么。

4

1 回答 1

0

我已经解决了我的问题,但只是使用字段编号而不是名称 ActiveDocument.Fields(5).Result.Text 而不是 ActiveDocument.Fields("NAME").Result.Text

于 2021-10-25T15:23:14.550 回答