创建一个 Office 脚本,它会查看每个工作表中的第一列,并根据第一列中的值插入一列

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

我需要帮助创建一个 Excel 办公脚本,该脚本可以在工作簿的每张工作表中自动执行某些格式设置。

  • 我需要在工作簿内的所有工作表中放置一个空白列。
  • 我通常会收到一本 Excel 工作簿,其中部分或全部工作表的格式设置已关闭。
  • 对于哪张工作表的格式不正确,没有固定的模式。
  • 我决定做一个条件决定,将读取 A 列是否有值。如果是,则插入一个空白列。如果它没有价值,就不要管它。

这就是我到目前为止所做的,它似乎只是插入了一个空白列。不知道我哪里出错了。无论 A 列是否为空,它都会添加一列。它也没有读取工作簿中的所有工作表。

function main(workbook: ExcelScript.Workbook) {
    let selectedSheet = workbook.getActiveWorksheet();
    // Set range Z1 on selectedSheet
    selectedSheet.getRange("Z1").setFormula("=IF(A1<>\"\",1,0)");

    // Get the value in cell A1
    let value = selectedSheet.getRange("A1").getValue();

    // Check if the value in A1 is 0
    if (value = 0) {
        // Insert Column
        selectedSheet.getRange("A:A").insert(ExcelScript.InsertShiftDirection.right);
    } else {
        // If value 1, leave alone.
        console.log("All good.");
    }
}
excel office-scripts ms-office-script
1个回答
0
投票

您的意思是要检查每个工作表中单元格 A1 的值,如果不为空则插入一列?

function main(workbook: ExcelScript.Workbook) {
    let sheets = workbook.getWorksheets();

    sheets.forEach(sheet => {
        let cellValue = sheet.getRange("A1").getValue();

        if (cellValue === "") {
            sheet.getRange("A1").getEntireColumn().insert(ExcelScript.InsertShiftDirection.right);
        }
    });
}
© www.soinside.com 2019 - 2024. All rights reserved.