我有一个带有xml标签的word文档。这些标签由应用程序填充,该应用程序打开文档填充它们并将文档转换为 pdf 并将其发送到文件共享应用程序。
我的问题是文档中的表格和文本带有空标签。我想在“填充”事件之后检查这些标签并隐藏包含它的段落,但我没有事件来执行此操作。
我有下面的代码来检查标签值,以便我可以查看它们是否为空,但我不知道可以将其放在哪个事件中。到目前为止,我发现执行代码的唯一一个是打开的文档,如下面的代码所示。其他的不触发。
Private Sub Document_Open()
ValidateTags
End Sub
Sub ValidateTags()
Dim r As XMLNodes
Dim i As Integer
Set r = ActiveDocument.XMLNodes
i = 0
Do While i < 10
i = i + 1
If i = 10 Then Exit Do
MsgBox (r(i).BaseName & " # " & r(i).NodeType _
& " # " & r(i).NodeValue & " # " & r(i).Text)
Loop
End Sub
开放事件发生在它们被填满之前。之后我需要一个,最好没有人工交互,因为我希望这个过程是自动的。
我需要针对包含标签的文档中的宏的 VBA 解决方案。
尝试 documentbeforesave 事件:http://msdn.microsoft.com/en-us/library/bb221290(v=office.12).aspx