使用VSTO VB.NET在Word中检测光标处的内置普通样式

时间:2014-11-25 23:01:25

标签: vb.net ms-word ms-office vsto

要创建一个上下文相关的工具栏(仅当光标位于某些段落样式时才激活的按钮),我想确定光标处的段落是否为Microsoft.Office.Interop.Word.WdBuiltinStyle.wdStyleNormal(这是值的常量) -1)。即使用户的默认样式使用其他语言而不是英语,我的代码也需要工作。可以找到段落样式名称的变体here

Here's a related question这似乎意味着如果没有字符串就无法获取样式信息。

我有代码将当前样式名称作为字符串找到:

Private Function getSelectionStyle() As String
    Return CType(Globals.ThisDocument.Application.Selection.Paragraphs.Style, Word.Style).NameLocal
End Function

如何获取整数值以将其与WdBuiltinStyle.wdStyleNormal(与语言无关的样式值Normal)进行比较?

1 个答案:

答案 0 :(得分:0)

只需与文档中样式集合中的Normal样式实例进行比较:

Public Function IsNormalStyle(ByVal style As style, ByVal Document As Document) As Boolean

    Dim normalStyle As style = document.Styles(Word.WdBuiltinStyle.wdStyleNormal)
    Return normalStyle = style

End Function