.net 基于单元格更改值触发VBA字宏

.net 基于单元格更改值触发VBA字宏,.net,vba,ms-word,.net,Vba,Ms Word,您好,我需要根据.Net应用程序更改的宏值在vba中触发宏。例如,我有以下模板 我有以下代码,需要在Cell3,1上填充其值时执行子字符串 Sub Format() Dim Str1 As String Dim Str2 As String tbl = ActiveDocument.Tables(1) Str1 = tbl.Cell(3, 1).Range.Text Str2 = Split(Str1, " ")(0) tbl.Cell(3, 1).Range.Text = Str2 En

您好,我需要根据.Net应用程序更改的宏值在vba中触发宏。例如,我有以下模板

我有以下代码,需要在Cell3,1上填充其值时执行子字符串

Sub Format()
Dim Str1 As String
Dim Str2 As String

tbl = ActiveDocument.Tables(1)
Str1 = tbl.Cell(3, 1).Range.Text
Str2 = Split(Str1, " ")(0)
tbl.Cell(3, 1).Range.Text = Str2

End Sub

问题是,当Cell1,3中的值从更改为标题3时,需要触发此事件。当用户在Word中编辑时,不会触发此事件,除非您设置Windows API键盘挂钩以监视用户正在执行的所有操作

当用户进入/离开表格单元格时,将触发Word.Application对象的WindowsSelectionChange事件。您可以监视它,检查它是否是通过输入有问题的单元格触发的,如果是这种情况,则设置一个布尔值。当事件显示它离开单元格时,重置布尔值并检查当前单元格内容

您只需注意监视此事件会影响Word应用程序的速度/效率