【问题标题】:Word VBA event for detecting text change in the document?用于检测文档中文本更改的 Word VBA 事件?
【发布时间】:2012-04-13 07:47:42
【问题描述】:

我正在为 Word 开发一个宏,它可以在键入文本时检测文本中的关键词。 例如,我希望在用户键入 \table 或类似的内容时添加一个表。与 lyx 上下文非常相似,但又不像它。

与我想用这个实现的想法相比,表格示例非常简单。

我正在寻找 VBA 中的一个事件,只要使用的类型输入就会触发该事件。

有一个名为 WindowSelectionChange 的事件(参考:Event - Document Edited),但它仅在 SELECTION 更改时触发,这意味着仅当用户使用鼠标光标选择文档中的另一个区域或用户使用键盘移动时文档中的箭头,但不会在用户键入文本(或按 Enter、空格等...)时触发。

【问题讨论】:

  • 听起来像“自动文本”,在 2k7+ 中更名为“Building Blocks”,在 VBA msdn.microsoft.com/en-us/library/bb507736(v=office.12).aspx中“可挂钩”
  • 可能不是我想要的。我再举一个例子:我希望每当用户按下 Tab 键时,它都会创建一个表格,该表格的第一列将填充迄今为止在该行中键入的文本,而下一列将为空..或者每当用户输入一些 Word 熟悉的数学符号时,它会自动将其转换为方程式(在方程式编辑器中)..

标签: vba ms-word office-2007 office-2010


【解决方案1】:

这里似乎解释了一个答案: What events can I use to monitor users typing in Word? 很快 - 在 word 中输入文本没有事件:使用 Windows API 挂钩,或将键绑定分配给所有键。

【讨论】:

    猜你喜欢
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    相关资源
    最近更新 更多