有出色的宏来更新Microsoft Word文档中的所有字段(包括页眉和页脚)。 就像这样一个: Macro to update all fields in a word document
但是,如果页眉和页脚包含带有字段的文本框怎么办?当然,最好不要有任何文本框,但是如果没有其他解决方案该怎么办?
例如,它可以应用于这样的问题:
我们应该使用以下标准格式制作文本文档模板: GOST standard form for text documents 每张纸都包含一个带有底表的框架和一个带有某些字段的左侧表,例如文档编号,修订版等。
对于我来说,更好的方法是在页脚中的字段中使用对“自定义文档属性”的引用。但是应该有占用大量空间缩小主要文本区域的表。为避免这种情况,我们可以将这些表移到另一层的大文本框中。唯一的问题是如何更新此文本框中的字段...
可以通过以下步骤实现:
Get Active Document
Iterate through Footers in Active Document
Iterate through Shapes in Footers in Active Document
If the Shape has Text then
Update Fields in the Shape
End IF
Next
Next
因此,对象的方法是: ActiveDocument->页脚->文本框->字段
问题是如何去那里。 Microsoft Word-VB参考没有提到类似情况。
测试文件: Test MS-Word document with fields in a footer
文档具有4个要更改的自定义属性:
答案 0 :(得分:0)
您可以尝试:
Sub UpdateFields()
Application.ScreenUpdating = False
With ActiveDocument
.Fields.Update
.PrintPreview
.ClosePrintPreview
End With
Application.ScreenUpdating = True
End Sub
对于文本框,您可以将其替换为单单元格表,并在必要时进行换行。与文本框不同,包装表的内容甚至仍与底层文本层相关联。