Arhn - архитектура программирования

Обнаружение встроенного обычного стиля в курсоре в Word с помощью VSTO VB.NET

Чтобы сделать контекстно-зависимую панель инструментов (кнопки, которые активируются, только если курсор находится на определенных стилях абзацев), я хочу определить, является ли абзац в курсоре 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)?


Ответы:


1

Просто сравните с экземпляром стиля 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
04.12.2014
  • Спасибо за указатель на document.Styles(index). Ваш ответ далек от компиляции, но я заставил его работать с 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
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..