【问题标题】:Is it possible to access via VBA the grammatical information that MS Word must have to perform its grammar checks?是否可以通过 VBA 访问 MS Word 必须执行其语法检查的语法信息?
【发布时间】:2022-01-24 05:34:48
【问题描述】:

我正在尝试利用 MS Word 中使用的 AI 来确定 doc 文件中每个单词的词性。也就是说,对于像这样的句子:“猫坐在上面。”,我会得到类似的东西:“[wdDeterminer] cat[wdNoun] sat[wdVerb] on[wdPreposition] it[wdPronoun]”。

我知道 Word 必须在内部执行此操作才能使其语法校对工具正常工作。我的问题是:脚本是否可以访问这些信息。

请注意,我不是试图通过 VBA 运行拼写检查(尽管这将是解决方案的一个微不足道的部分)。另外,我对同义词库模块不感兴趣。

VBA 之外还有其他解决方案,例如带有 NLTK 的 python Lemmatization,但我想知道是否有人知道纯 VBA 解决方案。到目前为止,我的调查表明没有,但我希望我忽略了一些东西。

【问题讨论】:

  • 这不能通过 VBA 获得,原因很简单。 Word 对象模型的存在只是为了自动化 UI。因此,如果 UI 中不存在某些功能,那么它也不会出现在对象模型中。
  • @TimothyRylatt 这是有道理的。感谢您证实我的怀疑。

标签: vba ms-word nlp


【解决方案1】:

Word 可扩展性模型没有为此提供任何东西。您可以使用的最好的是以下属性和方法:

  • Options.CheckGrammarWithSpelling 属性控制在您使用拼写命令(工具菜单)检查拼写时 Word 是否检查语法。
  • Options.CheckGrammarAsYouType 属性标记语法错误,但要在屏幕上看到它们,您必须将 ShowGrammaticalErrors 属性设置为 True
  • Application.CheckGrammar 方法检查字符串是否存在语法错误。返回一个布尔值以指示字符串是否包含语法错误。如果字符串不包含错误则为真。
  • Application.CheckSpelling 方法检查字符串是否存在拼写错误。返回Boolean 以指示字符串是否包含拼写错误。 True 如果字符串没有拼写错误。

【讨论】:

  • 我希望访问应用程序的文本语法模型,但似乎不可用。还是谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-06
  • 1970-01-01
  • 1970-01-01
  • 2021-12-07
  • 2021-08-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多