OfficeScripts | 色を付ける
こんにちは。ふらです。今日はOfficeScriptsを使って色を付ける方法についてお話していきたいと思います。
色を付ける
下記コードを使うことで、セル背景色やフォント色を変更することができます。getFillメソッドでセルの背景を指定して、getFontメソッドでフォントを指定します。それぞれsetColorメソッドで色を指定できます。
function main(workbook: ExcelScript.Workbook) {
//シートオブジェクト取得
let sh = workbook.getWorksheet("Sheet1");
//背景色を付ける
sh.getRange('A1:d1').getFormat().getFill().setColor("#add8e6");
//文字の色を変更する
sh.getRange('A1:d1').getFormat().getFont().setColor("#ffff00");
}
指定文字を含むセルのみ、色を変更する
Excelにマトリクス上のデータがあったとして、特定の文字列を含むセルのみ
色を変更するスクリプトを紹介します。
function main(workbook: ExcelScript.Workbook) {
//シートオブジェクト取得
let sh = workbook.getActiveWorksheet();
//指定文字列
const pattern = /北海道/;
//有効なセル範囲の値を取得する。
let data = sh.getUsedRange().getValues();
//データを全て回す
for (let i = 0; i < data.length; i++) {
for (let j = 0; j < 6; j++) {
//pattern変数の文字があるか確認、あればセル位置情報を格納
if (pattern.test(String(data[i][j]))) {
sh.getCell(i, j).getFormat().getFill().setColor("#87ceeb");
}
}
}
}
最初にシートオブジェクトを変数shに格納して、マーキングしたい文字を変数patternに格納します。その後、有効なデータ範囲を変数dataに格納します。
for文を使って、変数dataを全てチェックしていきます。もし、変数pattern(今回の例だと北海道)を含むセルがあればそのセル位置情報、行と列に対して、色を付けていきます。コード作成の際に参考にしてみてください。
#OfficeScripts #Officeスクリプト #プログラミング #自動化 #業務効率化 #エクセル #M365 #ExcelOnline #osts