如何引用VBA中的字段并从其他字段中确定它们的值?

如何引用VBA中的字段并从其他字段中确定它们的值?,vba,ms-word,Vba,Ms Word,我习惯于每天在文档模式上做同样的工作。我得计算两个日期之间的差值,然后写在单据上 我如何编写一个快速模型来输入日期,然后计算从该日期到现在的差异,然后在字段中自动输入结果 我曾尝试使用InputBox来实现这一点,但我很难像在Excel中那样确定值,在Excel中,对象单元格或范围同时位于和输出值中 设置myRange=Selection.Fields(1).Result “我想做这样的事: ActiveDocument.Field(1)=DiffDate(“d”,Now,DER)和“days”

我习惯于每天在文档模式上做同样的工作。我得计算两个日期之间的差值,然后写在单据上

我如何编写一个快速模型来输入日期,然后计算从该日期到现在的差异,然后在字段中自动输入结果

我曾尝试使用InputBox来实现这一点,但我很难像在Excel中那样确定值,在Excel中,对象单元格或范围同时位于和输出值中

设置myRange=Selection.Fields(1).Result “我想做这样的事:
ActiveDocument.Field(1)=DiffDate(“d”,Now,DER)和“days”。

您的描述不清楚。如果要使用字段的结果进行计算,可以使用以下代码:

Sub Demo()
MsgBox DateDiff("d", Now(), ActiveDocument.Fields(1).Result)
End Sub
Sub Demo()
ActiveDocument.Bookmarks("MyBookmark").Range.Text = DateDiff("d", "1/1/2000", Now())
End Sub
写入字段的结果是不可靠的,因为您所写入的内容将在字段刷新后立即丢失;您应该改为写入书签、表格单元格或内容控件。您甚至可以在应用了“填写表单”保护的文档中写入表单字段。要写入书签,可以使用以下代码:

Sub Demo()
MsgBox DateDiff("d", Now(), ActiveDocument.Fields(1).Result)
End Sub
Sub Demo()
ActiveDocument.Bookmarks("MyBookmark").Range.Text = DateDiff("d", "1/1/2000", Now())
End Sub

你没有提供足够的信息来准确理解你想要做什么。什么样的“场”?Word有几十种不同的字段。
DiffDate
在哪些方面不适合您?提供一些你尝试过的例子,你得到的结果,以及它与你想要的有什么不同。您可以使用问题下方的链接提供更多信息。