我试图在Scriptlab中使用RangeAreas类来一次从多个范围中获取一些信息,但我不能让它工作。
$("#run").click(() => tryCatch(run));
async function run() {
await Excel.run(async (context) => {
var sheet = context.workbook.worksheets.getActiveWorksheet();
var rangeAreas = sheet.getRanges("F3:F5, H3:H5");
rangeAreas.load("address");
await context.sync();
console.log(rangeAreas.address);
});
}
/** Default helper for invoking an action and handling errors. */
async function tryCatch(callback) {
try {
await callback();
} catch (error) {
// Note: In a production add-in, you'd want to notify the user through your add-in's UI.
console.error(error);
}
}
这是我在Scriptlab控制台得到的错误信息:
c {name: "RichApi.Error", code: "InvalidArgument", traceMessages: Array[0], innerError: null, debugInfo: Object…}
name: "RichApi.Error"
code: "InvalidArgument"
traceMessages: Array[0]
innerError: null
▶debugInfo: Object
code: "InvalidArgument"
message: "L’argument est manquant ou non valide, ou a un format incorrect."
toString: function ()
errorLocation: "Worksheet.getRanges"
statement: "var ranges=activeWorksheet.getRanges(...);"
▶surroundingStatements: Array[8]
0: "var workbook=context.workbook;"
1: "var worksheets=workbook.worksheets;"
2: "var activeWorksheet=worksheets.getActiveWorksheet();"
3: "// >>>>>"
4: "var ranges=activeWorksheet.getRanges(...);"
5: "// <<<<<"
6: "// Instantiate {ranges}"
7: "ranges.load(["address"]);"
▶fullStatements: Array[6]
line: 24
column: 243520
sourceURL: "https://appsforoffice.microsoft.com/lib/1/hosted/excel-mac-16.00.js"
我肯定我在某个地方犯了一个愚蠢的错误 但我就是找不到错误的地方,这让我很抓狂 任何帮助都是非常感激的。
你的代码在我这边运行得很完美。你的系统语言是法语吗? 有一个已知的问题是关于范围的分隔符,分隔符会根据系统的本地情况而改变。
所以我猜测在法语中它可能使用";",你可以试试下面的代码吗?
var rangeAreas = sheet.getRanges("F3:F5; H3:H5");