Power AutomateからOffice Script経由でExcelに整数を出力する際、「マイナスの数字だけ赤字にしたい」という要望をいただいたので方法をメモ。
やりたいこと



今回はこの出力された数字に対し「マイナスの場合は赤字、プラスの場合は黒字」と文字色を指定してみる。
方法:setNumberFormat関数を使用
ExcelのフォーマットをOffice Scriptから指定するときはsetNumberFormat関数を使用する。



function main(workbook: ExcelScript.Workbook, numbers: number[]): void {
if (!numbers || numbers.length === 0) return;
const sheet = workbook.getActiveWorksheet();
// A列1行目を起点に、配列長ぶんの縦範囲を確保
const startCell = sheet.getRange("A1");
const writeRange = startCell.getResizedRange(numbers.length - 1, 0);
// Office Scriptsは2次元配列でsetValuesする
const values: (number | string | boolean)[][] = numbers.map(n => [n]);
writeRange.setValues(values);
// マイナスの場合は赤字にする
writeRange.setNumberFormat("0;[Red]-0");
}
コメント