見出し画像

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

この記事が気に入ったらサポートをしてみませんか?