- 環境
- 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);
}