Word 插件:如何导航到图像/范围

问题描述 投票:0回答:1

我正在开发一个插件,允许用户将我们服务的内容插入到他们的文档中。我能把这事做好。我能够获取从我们的服务插入的所有图像的列表,并将这些图像显示为任务窗格中的缩略图。 现在,我希望能够允许用户单击缩略图,并让文字将该项目滚动到视图中。

为了构建我的列表,我运行以下代码(它会遍历所有 inlinePictures 并查看 altDescription 以查找以特定标签开头的项目)

const base64Image = image.getBase64ImageSrc();
await context.sync();
image.track();
diagramList.push({ image, base64Image: base64Image.value, tag });

然后,我使用对象列表中的 base64Image 属性来显示在任务窗格中,单击后,我将调用一个获取正在跟踪的图像的方法,并调用 select,如下所示:

await Word.run(async (context) => {
      const image = diagram.image as Word.InlinePicture;
      await context.sync();
      const range = image.getRange();

      range.select();
    });

但是,使用

.select()
似乎不起作用。不工作,我的意思是什么也没有发生。

我认为这可能与我跨上下文使用对象有关(也就是说,在单独的 Word.run 语句中)。

我需要做些什么才能正确获得范围吗?

ms-word office-js
1个回答
0
投票

我能够找出完成这项工作的正确方法。我需要使用 Word.run 上的重载来包含跟踪的对象(以使用其上下文),而不是引用相同的对象。

const image = diagram.image as Word.InlinePicture;

await Word.run(image, async (context) => {
    const range = image.getRange();
    range.load('no-props');
    range.select();
    await context.sync();
});
© www.soinside.com 2019 - 2024. All rights reserved.