【问题标题】:Trigger VBA Word macro based on Cell change Value根据单元格变化值触发 VBA Word 宏
【发布时间】:2015-10-29 14:28:35
【问题描述】:

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

我有以下代码,当它的值被填充时,需要在 Cell(3,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

问题是当 Cell(1,3) 中的值从 更改为“这是标题三”时需要触发此操作

【问题讨论】:

    标签: .net vba ms-word


    【解决方案1】:

    用户在 Word 中编辑时不会触发任何事件,除非您设置 Windows API 键盘挂钩来监控用户所做的一切。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-25
      • 1970-01-01
      • 1970-01-01
      • 2017-11-06
      • 2012-07-16
      相关资源
      最近更新 更多