Private Sub Document_Change(ByVal Target As Range)
Set table = ActiveDocument.Tables(1)
If Not Intersect(table, Target) Is Nothing Then
Target.AutoFormat ApplyColor: Red
End If
End Sub
我有以下代码,但它似乎不适用于VBA Word。 任何人都可以帮助我吗?
答案 0 :(得分:3)
我认为您从Excel VBA复制了代码并尝试重建它。 Excel和Word VBA之间存在一些差异。
Intersect
。DocumentChange
事件与您期望的不同 - 它在创建新文档,打开现有文档或将其他文档设置为活动文档时发生。 (https://msdn.microsoft.com/en-us/library/office/ff822189.aspx)如果您想以红色进行更改,可以执行以下操作:
然而,这有点难度,因为单词没有Change
事件,正如我们期望的那样(例如在Excel中)。因此,您应该自动运行几次VBA代码。