【问题标题】:Call Microsoft Excel APIs from a custom function using Excel built-in functions?使用 Excel 内置函数从自定义函数调用 Microsoft Excel API?
【发布时间】:2020-05-15 15:32:41
【问题描述】:

感谢此链接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")

【问题讨论】:

    标签: excel office-js custom-functions-excel


    【解决方案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;
    }
    

    请让我知道它是否有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-07
      • 2023-02-10
      • 2023-02-16
      • 1970-01-01
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多