Officeスクリプトで文字サイズを変更する方法|Excelのフォントを自在に調整

当ページのリンクには広告 (Amazonアソシエイト含む) が含まれています。
Officeスクリプトでフォントサイズ変更を行う方法アイキャッチ

Officeスクリプトを使ってExcelの文字サイズを変更したいけど、どうすればいいかわからない…

そんなお悩みを抱えていませんか?


Officeスクリプトで文字サイズ(フォントサイズ)を
 変える方法が分からない

Excelのテキストを見やすく整えたい

VBAではできたけど、Officeスクリプトではどう書けばいいの?

この記事では、Officeスクリプトを使って、Excelのセル内の文字サイズを変更する方法を、具体的なコード例とともに解説します。


Officeスクリプトで文字サイズが変更できるようになると、エクセルの文字が強調され見やすい資料が作成できるようになりますよ!
具体的なコードをコピペできるように記載しているので、「とりあえず動かしてみたい!」という方にもピッタリです。

さらに、PowerAutomateとの連携も視野に入れれば、日々の業務をさらに効率化できる可能性もあります。


【 この記事の概要 】

よく使う度
難しさ
覚えておくと安心度

「Officeスクリプト、いざ始めようと思ったけど、何から手をつけていいのか分からない…」
と悩んでいませんか?

最初の学習で迷うと、やる気も続かなくなってしまいますよね。

そんな方におすすめなのが、
初心者がつまずきやすいポイントをしっかりフォローした入門書です。

  • 基礎から丁寧に解説、初心者でも安心
  • 具体的な実践例つきで現場ですぐに活かせる
  • 手元に置いていつでも確認できる

「動画も良いけど、まずは書籍でじっくり学びたい」という方には、特におすすめです。

¥2,500 (2024/11/01 23:18時点 | Amazon調べ)
目次

この記事を読むとできるようになること

スポンサーリンク

Officeスクリプトでフォントサイズを変更する方法と使えるメソッド一覧

Officeスクリプトでは、Excelのセル内の文字サイズ(フォントサイズ)を変更するために、setSize()というメソッドを使います。

このsetSize()メソッドを使えば、セル内の文字の大きさを自由に調整できるので、見やすく整ったシートを簡単に作成できますよ。

フォント設定に使える主要メソッド一覧

フォントサイズの変更だけでなく、フォントの種類や太さ、スタイルなどの設定も簡単に操作できます。
ここでは、Officeスクリプトでよく使うフォント関連のメソッドを一覧にまとめました。

スクロールできます
メソッド名機能概要補足説明
getFormat()セルのフォーマット(書式)を
取得する
フォント設定にアクセスするための
入口となるメソッド
getFont()フォント設定を取得するgetFormat()と組み合わせて使います
setSize(数値)フォントサイズを設定する数値はポイント(pt)で指定
(例:setSize(16)
setName(“フォント名”)フォントの種類を設定する例:setName("游ゴシック")
setBold(true/false)太字のオン/オフtrueで太字に、falseで通常表示
setItalic(true/false)斜体のオン/オフtrueで斜体に
setUnderline(スタイル)下線を設定するExcelScript.RangeUnderlineStyle.single
など指定可
setStrikethrough(true/false)取り消し線の設定trueで取り消し線を表示
setSuperscript(true/false)上付き文字にする数式や注釈に便利
setSubscript(true/false)下付き文字にする化学式などで使用可能

OfficeスクリプトでsetSize()を使って文字サイズを変更する方法を詳しく解説

Officeスクリプトでは、Excelセル内の文字サイズ(フォントサイズ)を変更するために、setSize()メソッドを使用します。
このメソッドに数値(ポイントサイズ)を指定することで、セル内のテキストの大きさを自由に変更できます。

setSize()の基本的な使い方

基本構文
スクロールできます
パラメーター名必須/任意説明
setSize(16)必須フォントサイズを16ポイントに設定します(ポイント単位)
使用のポイント
  • setSize()に指定する数値は、ポイント(pt)単位です。
  • フォントサイズを変更しても、セルの高さや幅は自動調整されないため、必要に応じて autoFit()setRowHeight() なども併用しましょう。

さらに詳細な仕様については、Microsoft公式 – ExcelScript.RangeFont interfaceを参照してください。

基本的な使用例:セルA1のフォントサイズを16ptに設定

function main(workbook: ExcelScript.Workbook): void {
  // ワークシートの取得(Sheet1を指定)
  const sheet: ExcelScript.Worksheet = workbook.getWorksheet("Sheet1");

  // セルA1の取得
  const cell: ExcelScript.Range = sheet.getRange("A1");

  // フォントオブジェクトの取得
  const font: ExcelScript.RangeFont = cell.getFormat().getFont();

  // フォントサイズを16ポイントに設定
  font.setSize(16);
}

実行結果

このコードを実行すると、「Sheet1」のA1セルの文字サイズが16ptに変更されます。
プレゼン資料や報告書などで強調したい箇所に非常に便利です!

フォントサイズを16ptに変更
スポンサーリンク

OfficeスクリプトでsetSize()を使うときの注意点まとめ

setSize()は便利なメソッドですが、以下のポイントに注意しないと「思った通りに反映されない」「レイアウトが崩れる」などの問題が発生することがあります。

注意1 : フォントサイズ変更だけでは文字が見切れてしまうかも

setSize()を使ってフォントサイズを大きくしても、環境やセルの状態によっては、セルの高さや列幅が自動で調整されない場合があります。
そのため、大きな文字がセル内で見切れてしまう可能性がある点に注意が必要です。

このような場合は文字が見切れるかも…
  • セルが結合されている
  • 既に手動で高さや幅が設定されている
  • 特殊なスタイルが適用されている
  • スクリプトの実行順序によって反映が遅れる

そのため、常に自動でセルサイズが変わるとは限らないという点に注意が必要です。

失敗例:セル結合を行いフォントサイズを変更

以下のコードでは、A1〜B1セルを結合した後に文字サイズを36ptに設定しています。
しかし、セルが結合されているため、自動で行の高さが調整されず、文字が途中で見切れてしまう可能性があります。

function main(workbook: ExcelScript.Workbook): void {
  const sheet: ExcelScript.Worksheet = workbook.getWorksheet("Sheet1");

  const range: ExcelScript.Range = sheet.getRange("A1:B1");

  // セルを結合(これで自動調整が効かなくなる可能性がある)
  range.merge();

  range.setValue("これはとても大きな文字です");

  const font: ExcelScript.RangeFont = range.getFormat().getFont();
  font.setSize(36); // サイズ大きくしても結合セルでは高さが固定されがち
}
文字が見切れてしまう。

対応方法について

■ 対応方法1 : セルを結合せずに使用する

セルを結合しないだけでも、文字の見切れリスクは大幅に減ります。

function main(workbook: ExcelScript.Workbook): void {
    // Sheet1の取得
    const sheet: ExcelScript.Worksheet = workbook.getWorksheet("Sheet1");

    // A1セルにテキストを設定
    const cell: ExcelScript.Range = sheet.getRange("A1");
    cell.setValue("これは大きな文字です");

    // フォントサイズを32ptに設定
    const font: ExcelScript.RangeFont = cell.getFormat().getFont();
    font.setSize(32);
}
■ 対応方法2 : セルを結合せずに使用する

行や列のサイズを自動調整すれば、文字の見切れを防ぐことができます。

function main(workbook: ExcelScript.Workbook): void {
    const sheet: ExcelScript.Worksheet = workbook.getWorksheet("Sheet1");
    const cell: ExcelScript.Range = sheet.getRange("A1");

    cell.setValue("これは大きな文字です");

    const font: ExcelScript.RangeFont = cell.getFormat().getFont();
    font.setSize(32);

    // 対応方法:行と列のサイズを自動調整
    cell.getFormat().autofitRows();      // 行の高さを自動調整
    cell.getFormat().autofitColumns();   // 列の幅を自動調整
}

注意2 : 無効なサイズ(極端な数値)を指定するとエラーや反映されないことがある

setSize() メソッドでは、フォントサイズをポイント(pt)単位で指定します。
しかし、極端な数値(0や1000など)を指定すると、次のような不具合やエラーの原因になることがあります。

安全なサイズの目安
スクロールできます
フォントサイズ用途
8〜11pt標準的な表・帳票用
12〜14pt小見出し、強調箇所
16〜20pt以上タイトルやプレゼン資料などの強調用途

失敗例:setSize() に無効なサイズを指定する

以下のコードでは、フォントサイズとして setSize(0) を指定しています。
このように指定をしてしまうと、エラーが発生してしまいます。

function main(workbook: ExcelScript.Workbook): void {
  const sheet: ExcelScript.Worksheet = workbook.getWorksheet("Sheet1");
  const cell: ExcelScript.Range = sheet.getRange("A1");

  cell.setValue("これは表示されないかも?");

  const font: ExcelScript.RangeFont = cell.getFormat().getFont();
  font.setSize(0); // 無効または非推奨なフォントサイズ
}
引数を「0」にしたらエラーが発生

対応方法について

■ 対応方法 : 安全なフォントサイズで変更する

以下のように、安全なフォントサイズを指定しましょう。

function main(workbook: ExcelScript.Workbook): void {
  const sheet: ExcelScript.Worksheet = workbook.getWorksheet("Sheet1");
  const cell: ExcelScript.Range = sheet.getRange("A1");

  cell.setValue("これは見やすいサイズです");

  const font: ExcelScript.RangeFont = cell.getFormat().getFont();
  font.setSize(14); // 安全で実用的なフォントサイズ
}
安全なフォントサイズを指定した場合
■ 応用 : フォントサイズを変える前にチェックする

場合によっては、サイズを条件分岐で制御する関数を使用すると堅牢なスクリプトになります。

function main(workbook: ExcelScript.Workbook): void {
  const sheet: ExcelScript.Worksheet = workbook.getWorksheet("Sheet1");
  const cell: ExcelScript.Range = sheet.getRange("A1");

  cell.setValue("これは見やすいサイズです");

  const font: ExcelScript.RangeFont = cell.getFormat().getFont();
  font.setSize(14); // 安全で実用的なフォントサイズ
}
フォントサイズを変える前にチェックする
スポンサーリンク

Officeスクリプトでフォントサイズを変更する使用例

それでは、フォントサイズを変更する具体的な使用例を紹介します。

以下に紹介する使用例は、すべてコピペしてすぐに実行できるコードです。
気になる例は、ぜひご覧いただき、実際に実行してみてください。

Officeスクリプトを「基礎からしっかり学んで業務効率化したい」方には、
動画で学べる UdemyのOfficeスクリプト講座 がおすすめです。

  • 初心者でも迷わないステップバイステップ動画解説
  • 豊富な実践例で現場ですぐ使えるスキルが身につく
  • スマホやPCからいつでも繰り返し視聴可能

特に自己学習で進める場合、ビデオや実践例があると理解が進みやすくなりますよ。

Udemyでoffice scriptを検索
Udemyでoffice scriptを検索 画像出典:Udemy

\  自分のペースで学べるOfficeスクリプト講座はこちら  /

使用例1: 変数を使ってフォントサイズを動的に変更する

このコードでは、設定した変数の値に応じてExcelのセル内のフォントサイズを動的に変更します。

用途に応じてフォントサイズを変えたいときや、Power Automateからの値入力にも対応できる基本形として活用できます。

コード例|サイズを変数で制御

function main(workbook: ExcelScript.Workbook): void {
  const sheet: ExcelScript.Worksheet = workbook.getWorksheet("Sheet1");
  const cell: ExcelScript.Range = sheet.getRange("A1");

  // 任意のサイズを変数に設定(動的変更用)
  const size: number = 18;

  // テキストの設定
  cell.setValue("これは動的にサイズを変更した文字です");

  // フォントオブジェクトを取得
  const font: ExcelScript.RangeFont = cell.getFormat().getFont();

  // フォントサイズを変数で設定
  font.setSize(size);

  // 見切れ防止のため、セルサイズも調整
  cell.getFormat().autofitRows();
  cell.getFormat().autofitColumns();
}

処理結果

使用例1の結果

コードの動作概要

STEP
フォントサイズを変数に格納

const size = 18; でフォントサイズを変数として定義します。

STEP
セルにテキストを入力

A1セルに説明用のテキストを setValue() で入力します。

STEP
フォントオブジェクトの取得

getFormat().getFont() を使用してフォントスタイルを操作できるようにします。

STEP
変数でサイズを設定

font.setSize(size); により、変数で指定したサイズを反映します。

このコードで使用している機能

スクロールできます
機能名説明
getRange()指定したセル(A1)を取得します。
setValue()セルに文字列を入力します。
getFormat().getFont()フォントに関する設定を取得します。
setSize(size)フォントサイズを指定された数値に設定します。

1行ずつコードを解説

クリック」してコードの詳細解説を見る
  1. function main(workbook: ExcelScript.Workbook): void {
    • Officeスクリプトのメイン関数を定義します。
      Workbookオブジェクトを引数として受け取ります。
  2. const sheet: ExcelScript.Worksheet = workbook.getWorksheet(“Sheet1”);
    • “Sheet1″という名前のワークシートを取得し、sheetという変数に代入します。
  3. const cell: ExcelScript.Range = sheet.getRange(“A1”);
    • A1セルの範囲を取得して、cellという変数に格納します。
  4. const size: number = 18;
    • 動的に設定するためのフォントサイズを変数sizeに定義します(ここでは 18pt)。
  5. cell.setValue(“これは動的にサイズを変更した文字です”);
    • A1セルに文字列を入力します。
  6. const font: ExcelScript.RangeFont = cell.getFormat().getFont();
    • A1セルのフォント情報を取得し、fontという変数に格納します。
  7. font.setSize(size);
    • 変数sizeの値を使って、A1セルのフォントサイズを変更します。
  8. }
    • main関数の終了を示します。

総括・ポイント

このコードは、フォントサイズを固定値ではなく変数から動的に設定したい場合に非常に役立ちます。
特に、Power Automateやユーザー入力と組み合わせて処理を柔軟にしたいときに重宝します。

このコードのまとめ
  • サイズを変数で管理することで、汎用性・拡張性が高くなります。
  • 初心者にも分かりやすく、カスタマイズがしやすいです。

使用例2:複数のセルにまとめてフォントサイズを設定する

このコードでは、指定した範囲(複数セル)に対して一括でフォントサイズを変更します。
日報や帳票のタイトル行など、複数セルに同じスタイルを適用したい場合に便利です。

コード例|複数セルへのフォントサイズ適用

function main(workbook: ExcelScript.Workbook): void {
  const sheet: ExcelScript.Worksheet = workbook.getWorksheet("Sheet1");

  // 対象セル範囲を取得(例:A1〜C3)
  const range: ExcelScript.Range = sheet.getRange("A1:C3");

  // 一括で文字列を設定(見やすくするため)
  range.setValues([
    ["氏名", "所属", "日付"],
    ["田中", "営業部", "2024/04/01"],
    ["山田", "開発部", "2024/04/02"]
  ]);

  // フォントオブジェクトの取得
  const font: ExcelScript.RangeFont = range.getFormat().getFont();

  // フォントサイズを一括で16ptに設定
  font.setSize(16);

  // 見切れを防ぐため、セルのサイズも自動調整
  range.getFormat().autofitRows();
  range.getFormat().autofitColumns();
}

処理結果

使用例2の結果

コードの動作概要

STEP
対象範囲をまとめて取得

getRange("A1:C3") で複数セルを範囲指定します。

STEP
文字列をセット

setValues() を使って、セル範囲に文字列を一括入力します。

STEP
フォントスタイルの取得

getFormat().getFont() により、対象セルのフォント設定を操作可能にします。

STEP
フォントサイズを16ptに統一

setSize(16) で範囲内すべての文字サイズを16ポイントに変更します。

STEP
自動調整で見切れを防止

autofitRows()autofitColumns() で行と列のサイズを最適化します。

このコードで使用している機能

スクロールできます
機能名説明
getRange(“A1:C3”)指定範囲(複数セル)を取得します。
setValues()2次元配列で複数セルにまとめて値を設定します。
getFormat().getFont()範囲内のフォント設定を一括で取得します。
setSize(16)フォントサイズを一括で変更します。
autofitRows()行の高さを自動で調整します。
autofitColumns()列の幅を自動で調整します。

1行ずつコードを解説

クリック」してコードの詳細解説を見る
  1. function main(workbook: ExcelScript.Workbook): void {
    • スクリプトのメイン関数を定義します。
      workbook はExcelファイル全体を指します。
  2. const sheet: ExcelScript.Worksheet = workbook.getWorksheet(“Sheet1”);
    • “Sheet1″という名前のワークシートを取得し、sheet という変数に格納します。
  3. const range: ExcelScript.Range = sheet.getRange(“A1:C3”);
    • セル範囲A1からC3までを取得し、range という変数に格納します。
  4. range.setValues([
    [“氏名”, “所属”, “日付”],
    [“田中”, “営業部”, “2024/04/01”],
    [“山田”, “開発部”, “2024/04/02”]
    ]);
    • 対象範囲のセルに文字列を一括で入力します。
      2次元配列で、行×列の順に配置されます。
  5. const font: ExcelScript.RangeFont = range.getFormat().getFont();
    • 範囲内のすべてのフォント設定を取得します。
  6. font.setSize(16);
    • 取得したフォントオブジェクトに対して、一括でサイズ16ptを設定します。
  7. range.getFormat().autofitRows();
    • 行の高さを自動で調整し、文字の見切れを防ぎます。
  8. range.getFormat().autofitColumns();
    • 列の幅も自動調整して、全体のバランスを整えます。
  9. }
    • main関数の終了を示します。

総括・ポイント

このコードは、複数のセルに対して一括でフォントサイズを設定したい場合に最適な書き方です。
たとえば以下のような場面で活用できます

このコードのまとめ
  • 見出し行やタイトル行を強調する
  • データ表全体を読みやすく整える
  • スクリプトによるテンプレート整形・書式設定の自動化

使用例3:条件付きで一部のセルのみフォントサイズを変更する

このコードでは、複数セルの中から特定の条件に一致するものだけを判定し、フォントサイズを変更します。
たとえば、「見出しだけ」「値が“重要”と書かれているセルだけ」など、条件分岐を使って処理を制御したいときに役立ちます。

コード例|if文で条件に一致したセルだけサイズ変更

function main(workbook: ExcelScript.Workbook): void {
  const sheet: ExcelScript.Worksheet = workbook.getWorksheet("Sheet1");

  // 対象範囲:A1〜C3
  const range: ExcelScript.Range = sheet.getRange("A1:C3");

  // サンプルデータの挿入
  range.setValues([
    ["項目", "重要度", "備考"],
    ["売上", "高", "チェック済"],
    ["利益", "中", "要確認"]
  ]);

  // すべてのセルをループ処理
  for (let row = 0; row < 3; row++) {
    for (let col = 0; col < 3; col++) {
      const cell: ExcelScript.Range = range.getCell(row, col);
      const value: string = String(cell.getValue());

      // 条件:セルの値が「重要」または「高」の場合
      if (value === "重要" || value === "高") {
        const font: ExcelScript.RangeFont = cell.getFormat().getFont();
        font.setSize(18); // 強調表示
      }
    }
  }

  // 見切れを防ぐため、サイズを自動調整
  range.getFormat().autofitRows();
  range.getFormat().autofitColumns();
}

処理結果

使用例3の結果

コードの動作概要

STEP
データを設定

対象範囲にサンプルデータを setValues() で入力します。

STEP
すべてのセルをループ

getCell(row, col) を使って、範囲内のセルを1つずつ処理します。

STEP
条件付きでサイズ変更

if 文で、値が “高” または “重要” のときだけ setSize(18) を実行します。

STEP
フォントサイズを16ptに統一

setSize(16) で範囲内すべての文字サイズを16ポイントに変更します。

STEP
見切れ防止のサイズ調整

autofitRows()autofitColumns() で行・列を調整します。

このコードで使用している機能

スクロールできます
機能名説明
getRange()セル範囲を取得します。
setValues()2次元配列で複数セルにまとめて値を設定します。
getCell(row, col)指定位置のセルを個別に取得します。
getValue()セルに入力されている値を取得します。
if 文条件に合うかどうかを判定します。
setSize()条件に合うセルだけフォントサイズを変更します。
autofitRows()行の高さを自動で調整します。
autofitColumns()列の幅を自動で調整します。

1行ずつコードを解説

クリック」してコードの詳細解説を見る
  1. function main(workbook: ExcelScript.Workbook): void {
    • スクリプトのメイン関数を定義します。
      workbook はExcelファイル全体を指します。
  2. const sheet: ExcelScript.Worksheet = workbook.getWorksheet(“Sheet1”);
    • “Sheet1″という名前のシートを取得します。
  3. const range: ExcelScript.Range = sheet.getRange(“A1:C3”);
    • 範囲 A1〜C3 のセルを取得し、変数 range に代入します。
  4. range.setValues([
    [“項目”, “重要度”, “備考”],
    [“売上”, “高”, “チェック済”],
    [“利益”, “中”, “要確認”]
    ]);
    • 指定した2次元配列のデータを、A1〜C3に一括で設定します。
  5. for (let row = 0; row < 3; row++) {
    • 行インデックス(0〜2)でループ処理を開始します。
  6. for (let col = 0; col < 3; col++) {
    • 列インデックス(0〜2)でループ処理を開始します。
  7. const cell: ExcelScript.Range = range.getCell(row, col);
    • 指定された行・列のセルを取得します。
  8. const value: string = String(cell.getValue());
    • セルに入力されている値を文字列として取得します。
  9. if (value === “重要” || value === “高”) {
    • 条件分岐:セルの値が「重要」または「高」であるかを判定します。
  10. const font: ExcelScript.RangeFont = cell.getFormat().getFont();
    • 該当セルのフォントオブジェクトを取得します。
  11. font.setSize(18);
    • フォントサイズを18ptに設定します(強調表示)。
  12. }
    }
    }
    • ループと条件処理の終了。
  13. range.getFormat().autofitRows();
    range.getFormat().autofitColumns();
    • 行と列のサイズを自動調整して、文字の見切れを防ぎます。
  14. }
    • 関数の終了。

総括・ポイント

このコードは、複数のセルの中から条件に合致したセルだけを強調表示(サイズ変更)する例です。

このコードのまとめ
  • if 文と getValue() を組み合わせることで、セルの中身に応じて動的に見た目を調整できます。
  • 「重要」や「高」など、特定のキーワードを強調する資料作りに最適です。
  • getCell() を使ったセル単位の処理は、データの部分的な整形にも応用可能。
スポンサーリンク

この記事のまとめ

この記事では、Officeスクリプトを使ってExcelの文字サイズ(フォントサイズ)を変更する方法について、基本から応用まで段階的に解説しました。

setSize()メソッドの使い方を中心に、見切れ回避のための注意点や実践的な使用例(変数利用・複数セル・条件付き変更)を紹介しました。

実際の業務で「見やすいシートを整える」「特定のデータだけ強調する」といったシーンで、すぐに活かせる内容だったかと思います。

ポイントのおさらい

今回の学びを活用するために

スクロールできます
シーン活用例
報告書や日報作成見出し・項目名を大きくして視認性アップ
マクロ自動整形セル結合を避けつつ、サイズと見栄えを両立
PowerAutomateと連携入力値に応じたサイズ変更も自動化可能
あわせて読みたい
サイトマップ このページは、本サイトの記事を分かりやすくまとめました。ぜひご覧ください。 目次 「共通」を見る 「VBA」を見る 「Officeスクリプト」を見る 「ワークシート関数」...
スポンサーリンク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次