将工作表中的数据放入任务窗格

Put data from Worksheet into Taskpane

我有一个任务窗格和我想从工作表中填写的字段之一。

如何在 Office Taskpane 启动期间访问工作表中的数据?

示例:

Office.onReady(function (info) {

    const range = context.workbook.getSelectedRange();

    // Read the range address
    range.load("address");

    // Update the fill color
    range.format.fill.color = "yellow";

})

给出错误 Context 未定义。

如何加载一些数据并在启动时将其发送到任务窗格?

一个简单的例子是,我有一个下拉列表,我想用列字母填充,但只能来自 usedrange

您似乎正在尝试使用 Excel.RequestContext 对象。在调用它之前,您需要获得对它的引用。推荐的方法是调用 Excel.run。它会自动创建 context 对象并将其传递给回调。这是一个例子。

await Excel.run(async (context) => {
  var selectedRange = context.workbook.getSelectedRange();
  selectedRange.load('address');
  await context.sync();
  console.log('The selected range is: ' + selectedRange.address);
});

帮我指明了正确的方向。我必须将 async 添加到主要功能,然后我才能在 Excel.Run

之后执行所需的操作

例如:

Office.onReady(async function (info) {
    await Excel.run(async (context) => {
        var ws = context.workbook.worksheets.getActiveWorksheet()
        var rng = ws.getRange("A1")
        rng.load(["values"]);
        await context.sync();
        Input_Box_Client_Code.defaults.Value = rng.values[0][0];
        Init_InputBoxes(InputBoxs_ArrOfObjs);
    });
})