Ms word Office.js上下文菜单,单击了什么?

Ms word Office.js上下文菜单,单击了什么?,ms-word,office-js,Ms Word,Office Js,我正在使用office.js做一个Word插件,并成功注册了一个ContextMenu项和一个回调函数 函数从my manifest.xml接收一个包含source.id的参数。没有任何上下文 我希望上下文菜单能够访问调用它的上下文 有人知道如何获取有关单击内容的信息吗 manifest.xml <ExtensionPoint xsi:type="ContextMenu"> <OfficeMenu id="ContextMenuText"> <

我正在使用office.js做一个Word插件,并成功注册了一个ContextMenu项和一个回调函数

函数从my manifest.xml接收一个包含source.id的参数。没有任何上下文

我希望上下文菜单能够访问调用它的上下文

有人知道如何获取有关单击内容的信息吗

manifest.xml

<ExtensionPoint xsi:type="ContextMenu">
    <OfficeMenu id="ContextMenuText">
        <Control xsi:type="Button" id="Button1Id1">
            <Label resid="ContextMenuItem.Label" />
            <Supertip>
                <Title resid="ContextMenuItem.Label"/>
                <Description resid="ContextMenuItem.Tooltip"/>
            </Supertip>
            <Icon>
                <bt:Image size="16" resid="Icon.16x16"/>
                <bt:Image size="32" resid="Icon.32x32"/>
                <bt:Image size="80" resid="Icon.80x80"/>
            </Icon>
            <Action xsi:type="ExecuteFunction">
                <FunctionName>doStuff</FunctionName>
            </Action>
        </Control>
    </OfficeMenu>
</ExtensionPoint>

没有上下文对象提供有关右键单击文档的位置的信息。您可以使用
Document.getSelection()
获取右键单击的范围。从那里,您可以使用返回的范围对象的属性来确定代码的方向。

只有在多个菜单项调用同一个函数时,这才是一个问题,对吗?如果Button1Id1是唯一调用doStuff的按钮,那么doStuff知道单击了什么。作为上下文菜单,我希望能够访问调用它的上下文。例如:在文档中的何处执行了右键单击,或者在文档中的哪段文本上执行了右键单击,使我能够提供与上下文相关的有意义的内容。我明白了。我以为你的意思是,点击了什么菜单项。尝试使用
Document.getSelection()
获取右键单击的范围。从那里,您可以使用返回的Range对象的属性来确定代码的方向。我想这可能会起作用。可能没有选择任何内容,但在我的情况下,始终会有一个内容控件,我可以通过加载“parentContentControl”来获得该控件。谢谢
function doStuff(event) {
   console.log("Got invoked!");
   console.log(event);
   event.completed();
}