0

由于此链接Call Microsft Excel APIs from a custom function ,我成功地从自定义函数调用了我的第一个 Microsoft Excel API 。但是,我正在尝试在我的自定义函数中添加 VLOOKUP 内置 Excel 函数。在尝试了多种方法以使我的代码正常工作后,我仍然得到#VALUE!在细胞中。我的代码缺少什么?我知道这是 5/11 的全新产品,所以这个功能还不可用吗?

/**
 * @customfunction
 * @param firstName person's first name
 **/
export async function getRangeValue (firstName: string) {
    let lastName;
    let context = new Excel.RequestContext();
    const range = context.workbook.worksheets.getActiveWorksheet().getRange("A1:C5");
    range.load();
    await context.sync();
    lastName = context.workbook.functions.vlookup(firstName, range, 3, false);
    lastName.load('value');
    await context.sync();
    return lastName.value;
}

在此处输入图像描述

=CONTOSOSHARE.GETRANGEVALUE("Happy")
4

1 回答 1

1

由于函数中有两个调用,请考虑使用 Exce.run。例如:

export async function getRangeValue (firstName: string) {
let lastName;
await Excel.run(async (context) => {
    const range = context.workbook.worksheets.getActiveWorksheet().getRange("A1:B5");
    range.load();
    await context.sync();
    lastName = context.workbook.functions.vlookup("Happy", range, 2, false);
    lastName.load("value");
    await context.sync();
    console.log(lastName.value);
  });
return lastName.value;
}

请让我知道它是否有效。

于 2020-05-18T10:15:16.863 回答