Nano Hash - криптовалюты, майнинг, программирование

Создание настраиваемого диапазона в Word Javascript API / Office.js

Я понимаю, что многие методы Word Javascript API возвращают Range или RangeCollection. Но есть ли конструктор, который разработчики могут использовать для непосредственного создания нового Range?

Мой вариант использования состоит в том, что мне нужно просмотреть каждый абзац, выявить ошибки и выделить их синтаксисом. Итак, я хотел бы просто получить простой текст абзаца с помощью API, найти ошибки самостоятельно, а затем использовать эту информацию для создания Range, который я могу использовать для украшения текста (или добавить Bounday / ContentControl чтобы обратиться к нему позже).


  • отличный вопрос. такая же проблема здесь. 01.03.2021

Ответы:


1

есть несколько вариантов для вас.

а. Воспользуйтесь поиском - вы можете охватить его до абзаца. Вы также можете использовать диапазон. compareLocationWith, чтобы сравнить, совпадает ли найденный диапазон, и удалить дубликаты. Идея состоит в том, чтобы взять абзац, проанализировать, найти проблему, выполнить поиск, чтобы получить диапазон (и убедиться, что это диапазон, который вам нужен). Когда у вас есть диапазон, вы можете применять форматирование, вставлять элементы управления содержимым или вставлять, заменять содержимое.

б. Используйте split - это метод, который вы можете использовать для разложения абзаца на слова (каждый диапазон).

c. ExpandTo - расширить данный диапазон до другого.

d. для любого объекта вы можете использовать .getRange (), чтобы получить связанный с ним диапазон.

05.07.2017
  • Странно, что нет очевидного способа просто сделать Range 06.07.2017
  • Почти все методы API возвращают диапазон, но интересно узнать, чего вы ожидали. 06.07.2017
  • Поскольку я получаю смещения в тексте ошибок, которые хочу украсить, я бы хотел иметь возможность создать диапазон в документе с помощью чего-то вроде var range = new Range(startOffset, endOffset); или в абзаце с чем-то вроде var range = paragraph.getRange(startOffset, endOffset); Без возможности создания диапазона, похоже, что нет никакого способа когда-либо проверить, что Range, которые я возвращаю от search или split, совпадают со словами, которые я хотел бы украсить, поскольку я не могу использовать compareLocationWith, не имея объекта Range. Словить 22. 08.07.2017
  • Проблема с поддержкой смещений и начальных / конечных положений в целом заключается в том, что это очень ненадежный способ обращения к диапазону, который слишком легко может быть сломанной историей. Это был исторический и постоянный источник боли для разработчиков Word, и мы явно решили не поддерживать этот порочный дизайн. А пока вы можете получить свой диапазон с помощью paragraph.search () 08.07.2017
  • @JuanBalmori, (1) Первая ссылка для compareLocationWith не работает. (2) Из ответа неясно, почему нам помогает compareLocationWith. Было бы полезно, если бы у нас был range.getStartOffset или range.getEndOffset, но у нас нет (3) проблема с поиском в том, что, скажем, вы хотите пометить слово в смещениях [100,103]. Но затем пользователь продолжает писать и добавляет слово где-нибудь перед текстом - тогда метод .search не работает. если бы у него было смещение, мы могли бы исправить смещение, используя разницу между старой текстовой версией и новой, и переместить диапазон вручную. 01.03.2021
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..