Word Addin / Office JS - Определить, находится ли курсор на элементе диаграммы - PullRequest
2 голосов
/ 11 февраля 2020

Я хочу иметь возможность проверить, находится ли курсор документа внутри элемента Chart в MS Word API. Прямо сейчас у меня есть приложение, которое вставляет текст, но когда я пытаюсь вставить указанный текст в заголовок диаграммы, оно удаляет диаграмму и заменяет вставляемый мной элемент управления контентом.

Вместо удаления диаграммы, я хочу проверить, находится ли курсор внутри диаграммы через контекст. Если я каким-либо образом нахожусь внутри диаграммы, смогу выдать предупреждение пользователю и сбежать. Есть ли способ сделать это?

1 Ответ

1 голос
/ 20 февраля 2020

Это должно сделать это. Как @CindyMeister сказал, что вы можете проверить oo xml и проверить его, range.getOoxml() будет возвращать что-то, только если курсор находится на каком-то объекте xml, который был вставлен в документ.

example.ts

Word.run(async (context: RequestContext) => {
  const range: Range = context.document.getSelection();
  const ooxml: ClientResult<string> = range.getOoxml();
  context.load(range);
  await context.sync();

  const ooxmlVal = ooxml.value;
  if (ooxmlVal) {

    const lowered = ooxmlVal.toLowerCase();
    const isChart = lowered.includes("excel") && lowered.includes("chart");
    if (isChart) {
      console.log("CURSOR IS ON CHART");
    }
  }
});
...