Чтобы сделать контекстно-зависимую панель инструментов (кнопки, которые активируются, только если курсор находится на определенных стилях абзацев), я хочу определить, является ли абзац в курсоре Microsoft.Office.Interop.Word.WdBuiltinStyle.wdStyleNormal
(что является константой значения -1). Мой код должен работать, даже если стиль пользователя по умолчанию «Нормальный» на каком-либо другом языке, кроме английского. Варианты названий стилей абзаца можно найти здесь.
Вот связанный с этим вопрос, который, похоже, подразумевает невозможность получить информацию о стиле, не являясь строкой.
У меня есть код для поиска текущего имени стиля в виде строки:
Private Function getSelectionStyle() As String
Return CType(Globals.ThisDocument.Application.Selection.Paragraphs.Style, Word.Style).NameLocal
End Function
Как я могу получить целочисленное значение, чтобы сравнить его с WdBuiltinStyle.wdStyleNormal
(независимое от языка значение стиля Normal)?
Dim normalStyle As Style = Globals.ThisDocument.ThisApplication.ActiveDocument.Styles(Word.WdBuiltinStyle.wdStyleNormal) Dim selectionStyle As Style = CType(Globals.ThisDocument.Application.Selection.Paragraphs(1).Style, Word.Style) Return selectionStyle.NameLocal.Equals(normalStyle.NameLocal)
05.12.2014