Office 加载项 - Ribbon FunctionName 似乎不支持从 class 调用方法
Office add-in - Ribbon FunctionName does not seem to support calling a method from class
在功能区清单中,我可以声明单击功能区按钮时要执行的函数。例如,
<Action xsi:type="ExecuteFunction">
<FunctionName>doSomething</FunctionName>
</Action>
但是,如果我有一个具有以下定义的打字稿文件:
class MyFunctions {
public static doSomething(){
Office.context.ui.displayDialogAsync("https://localhost:44337/index.html",
{ height: 50, width: 50 }
}
}
以下将不起作用:
<Action xsi:type="ExecuteFunction">
<FunctionName>MyFunctions.doSomething</FunctionName>
</Action>
就好像它无法识别清单文件中的点名,在本例中是 ClassName.FunctionName。
插件命令调用的函数目前必须是全局函数。在您的情况下,该函数不会执行,因为它被定义为 MyFunctions class.
的一部分
我们意识到允许您在此处描述的结构是有意义的,因此我们正在努力进行修复以在将来允许它。谢谢!
MyFunctions.doSomething 不起作用,因为 TypeScript 编译器将其转换为函数(即 typeof MyFunctions == 'function')
目前 Office 加载项清单仅支持:
- 执行全局函数
- 在"object"中执行一个成员函数。
因此,如果 MyFunctions 是一个对象,清单将起作用。这是一个例子:
var MyFunctions = {
doSomething: function() {}
};
希望下一个版本能解决这个问题。谢谢
在功能区清单中,我可以声明单击功能区按钮时要执行的函数。例如,
<Action xsi:type="ExecuteFunction">
<FunctionName>doSomething</FunctionName>
</Action>
但是,如果我有一个具有以下定义的打字稿文件:
class MyFunctions {
public static doSomething(){
Office.context.ui.displayDialogAsync("https://localhost:44337/index.html",
{ height: 50, width: 50 }
}
}
以下将不起作用:
<Action xsi:type="ExecuteFunction">
<FunctionName>MyFunctions.doSomething</FunctionName>
</Action>
就好像它无法识别清单文件中的点名,在本例中是 ClassName.FunctionName。
插件命令调用的函数目前必须是全局函数。在您的情况下,该函数不会执行,因为它被定义为 MyFunctions class.
的一部分我们意识到允许您在此处描述的结构是有意义的,因此我们正在努力进行修复以在将来允许它。谢谢!
MyFunctions.doSomething 不起作用,因为 TypeScript 编译器将其转换为函数(即 typeof MyFunctions == 'function')
目前 Office 加载项清单仅支持:
- 执行全局函数
- 在"object"中执行一个成员函数。
因此,如果 MyFunctions 是一个对象,清单将起作用。这是一个例子:
var MyFunctions = {
doSomething: function() {}
};
希望下一个版本能解决这个问题。谢谢