Выбор текста в Word Web Add-in с помощью JQuery

Я разрабатываю веб-надстройку Word с использованием OfficeJS. Теперь у меня есть аккордеон. Если пользователь щелкает меню аккордеона, мне нужно сделать выбор над текстом заголовка в документе Word, где бы он ни находился (хотя бы одно вхождение).

Есть ли способ поиска текстов и сделать выбор в Word в документах, используя OfficeJS.Context?

Office.context.document.setSelectedDataAsync(WordToSelect, function (asyncResult) {    });

Я получил вышеуказанный код, который вставляет указанный текст и выбираю вместо поиска и сделать

1 ответ

Решение

Для этого вам нужно использовать API поиска в заголовке. Вот краткий пример того, как это сделать. (предполагается, что "Hello World" напечатано в заголовке:))

async function run() {
    await Word.run(async (context) => {

        let searchResults = context.document.sections.getFirst().getHeader("primary").search("World");
        searchResults.load();

        await context.sync();

        //select the first one found
        searchResults.items[0].select();
    });
}
При работе с заголовками нужно учитывать несколько моментов:

  1. Как вы, наверное, знаете, документы Word могут иметь несколько разделов и, следовательно, несколько наборов верхних и нижних колонтитулов. Поэтому, если вы хотите охватить все случаи, обязательно просмотрите коллекцию разделов.
  2. Каждый раздел может содержать 3 верхних и нижних колонтитула, первичную, четную, первую страницу. Было бы интересно посмотреть, где вы будете делать поиск / выбор в ситуации, когда у вас есть все варианты.

надеюсь, что это настраивает вас в правильном направлении.

Другие вопросы по тегам