Office 脚本中函数上下文的问题
Issues with function context in Office Scripts
我在维护 excel 上下文的同时将函数调用到主脚本中时遇到问题
async function main(context: Excel.RequestContext){
findMD(1)
}
函数 findMD(test)
包含取自 context.workbook
的各种范围,并且由于函数是在 main
之外定义的,所以我遇到了 cannot find name 'context'
错误。
为了尝试解决这个问题,我将 function findMD(test){
更改为 async function findMD(context: Excel.RequestContext,test){
。然而,虽然它已经解决了上下文错误,但我仍然无法 运行 脚本,因为函数调用 findMD(1)
现在收到 Expected 2 arguments but got 1
的错误消息
非常感谢能提供的任何帮助,因为这让我很痛苦!
谢谢!
当您定义 findMD() 函数以将上下文作为输入参数时,您还需要在调用它时提供该参数。这是一个辅助函数的示例,它将上下文对象和第二个参数作为输入,就像您正在尝试做的那样。
async function helper(context: Excel.RequestContext, test) {
let workbook = context.workbook;
let worksheets = workbook.worksheets;
let selectedSheet = worksheets.getActiveWorksheet();
selectedSheet.load("name");
await context.sync();
console.log( selectedSheet.name);
console.log( test);
}
async function main(context: Excel.RequestContext) {
helper(context,"test parameter");
}
在 main() 内部,当我调用 helper() 时,我传入了上下文对象以及我希望函数看到的测试参数的值。
我在维护 excel 上下文的同时将函数调用到主脚本中时遇到问题
async function main(context: Excel.RequestContext){
findMD(1)
}
函数 findMD(test)
包含取自 context.workbook
的各种范围,并且由于函数是在 main
之外定义的,所以我遇到了 cannot find name 'context'
错误。
为了尝试解决这个问题,我将 function findMD(test){
更改为 async function findMD(context: Excel.RequestContext,test){
。然而,虽然它已经解决了上下文错误,但我仍然无法 运行 脚本,因为函数调用 findMD(1)
现在收到 Expected 2 arguments but got 1
非常感谢能提供的任何帮助,因为这让我很痛苦! 谢谢!
当您定义 findMD() 函数以将上下文作为输入参数时,您还需要在调用它时提供该参数。这是一个辅助函数的示例,它将上下文对象和第二个参数作为输入,就像您正在尝试做的那样。
async function helper(context: Excel.RequestContext, test) {
let workbook = context.workbook;
let worksheets = workbook.worksheets;
let selectedSheet = worksheets.getActiveWorksheet();
selectedSheet.load("name");
await context.sync();
console.log( selectedSheet.name);
console.log( test);
}
async function main(context: Excel.RequestContext) {
helper(context,"test parameter");
}
在 main() 内部,当我调用 helper() 时,我传入了上下文对象以及我希望函数看到的测试参数的值。