使用 OfficeScripts 在 for 循环中定义变量

问题描述 投票:0回答:1

鉴于此 OfficeScript:

function main(workbook: ExcelScript.Workbook, myText: string) {
    let ws = workbook.getActiveWorksheet();
    let rng = ws.getRange("B3:C6");
    let rgnArr = rng.getValues();

    let email: string | number | boolean;

    for (let i = 0; i <= rgnArr.length - 1; i++) {
        
        if (myText === rgnArr[i][0]) {
            let email = rgnArr[i][1];
            //break;
        }
    };

    console.log(email);

}

在此电子表格中:

如果我将

ABC
传递给
myText
,我应该到达控制台:
[email protected]

我得到了

undefined

excel typescript office-scripts
1个回答
2
投票

let email = rgnArr[i][1];
覆盖
let email: string | number | boolean;
。有两个具有相同名称的变量。但它们的范围不同。

当代码

email
访问它时,
undefined
的值必须是
console.log(email);
,因为它没有被分配任何值。

修复:使用

email = rgnArr[i][1];
在for循环中赋值。

© www.soinside.com 2019 - 2024. All rights reserved.