Power AutomateからOffice Script経由でExcelに整数を出力する際、「マイナスの数字だけ赤字にしたい」という要望をいただいたので方法をメモ。
やりたいこと
例えば、画像のような「整数配列を受け取り順次Excelに出力する」スクリプトがあるとき、


これをPower Automateから呼び出すと、


こんな感じでExcelに整数が出力される。


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


マイナスの数字は文字色が赤になる。


文字色を変える以外にも、「0.0」といった指定をすると小数点での表示も指定できたりするので、他にも色々と細かな操作ができそう。


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"); }
コメント