【mac】Excelのセル内改行を削除する!

  • 環境
    • mac
    • Microsoft office excel 365

Officeスクリプトで対応してみる。

function main(workbook: ExcelScript.Workbook) {
    // シート
    const sheet: ExcelScript.Worksheet = workbook.getActiveWorksheet();

    // 選択範囲
    let range: ExcelScript.Range = workbook.getSelectedRange();
    if (!range) {
        const used: ExcelScript.Range | undefined = sheet.getUsedRange();
        if (!used) {
            console.log("範囲が空です。");
            return;
        }
        range = used;
    }

    // 値を取得
    const values: (string | number | boolean)[][] = range.getValues();

    // 置換後文字(""=削除, " "=スペース置換)
    const replaceWith: string = "";

    for (let i = 0; i < values.length; i++) {
        for (let j = 0; j < values[i].length; j++) {
            const cellValue: string | number | boolean = values[i][j];
            if (typeof cellValue === "string") {
                let s: string = cellValue;
                s = s.replace(/\r\n/g, replaceWith)   // CRLF
                    .replace(/\n/g, replaceWith)     // LF
                    .replace(/\r/g, replaceWith)     // CR
                    .replace(/\u2028/g, replaceWith) // Unicode Line Separator
                    .replace(/\u2029/g, replaceWith);// Unicode Paragraph Separator
                values[i][j] = s;
            }
        }
    }

    range.setValues(values);
}
タイトルとURLをコピーしました