「Officeスクリプトを使ってExcelの文字サイズを変更したいけど、どうすればいいかわからない…
」
そんなお悩みを抱えていませんか?

・Officeスクリプトで文字サイズ(フォントサイズ)を
変える方法が分からない
・Excelのテキストを見やすく整えたい
・VBAではできたけど、Officeスクリプトではどう書けばいいの?



この記事では、Officeスクリプトを使って、Excelのセル内の文字サイズを変更する方法を、具体的なコード例とともに解説します。
Officeスクリプトで文字サイズが変更できるようになると、エクセルの文字が強調され見やすい資料が作成できるようになりますよ!
具体的なコードをコピペできるように記載しているので、「とりあえず動かしてみたい!」という方にもピッタリです。
さらに、PowerAutomateとの連携も視野に入れれば、日々の業務をさらに効率化できる可能性もあります。
【 この記事の概要 】
よく使う度 | |
難しさ | |
覚えておくと安心度 |
「Officeスクリプト、いざ始めようと思ったけど、何から手をつけていいのか分からない…」
と悩んでいませんか?
最初の学習で迷うと、やる気も続かなくなってしまいますよね。
そんな方におすすめなのが、
初心者がつまずきやすいポイントをしっかりフォローした入門書です。
- 基礎から丁寧に解説、初心者でも安心
- 具体的な実践例つきで現場ですぐに活かせる
- 手元に置いていつでも確認できる
「動画も良いけど、まずは書籍でじっくり学びたい」という方には、特におすすめです。




この記事を読むとできるようになること
- Officeスクリプトでフォントを変更するメソッド一覧を知る
- setSize()メソッド一覧の使用方法を習得する
- setSize()の注意ポイントを確認する
- setSize()の使用例を確認する
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に変更されます。
プレゼン資料や報告書などで強調したい箇所に非常に便利です!


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); // 無効または非推奨なフォントサイズ
}


対応方法について
■ 対応方法 : 安全なフォントサイズで変更する
以下のように、安全なフォントサイズを指定しましょう。
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からいつでも繰り返し視聴可能
特に自己学習で進める場合、ビデオや実践例があると理解が進みやすくなりますよ。


\ 自分のペースで学べる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();
}
処理結果


コードの動作概要
const size = 18;
でフォントサイズを変数として定義します。
A1セルに説明用のテキストを setValue()
で入力します。
getFormat().getFont()
を使用してフォントスタイルを操作できるようにします。
font.setSize(size);
により、変数で指定したサイズを反映します。
このコードで使用している機能
機能名 | 説明 |
---|---|
getRange() | 指定したセル(A1)を取得します。 |
setValue() | セルに文字列を入力します。 |
getFormat().getFont() | フォントに関する設定を取得します。 |
setSize(size) | フォントサイズを指定された数値に設定します。 |
1行ずつコードを解説
「クリック」してコードの詳細解説を見る
- function main(workbook: ExcelScript.Workbook): void {
- Officeスクリプトのメイン関数を定義します。
Workbook
オブジェクトを引数として受け取ります。
- Officeスクリプトのメイン関数を定義します。
- const sheet: ExcelScript.Worksheet = workbook.getWorksheet(“Sheet1”);
- “Sheet1″という名前のワークシートを取得し、
sheet
という変数に代入します。
- “Sheet1″という名前のワークシートを取得し、
- const cell: ExcelScript.Range = sheet.getRange(“A1”);
- A1セルの範囲を取得して、
cell
という変数に格納します。
- A1セルの範囲を取得して、
- const size: number = 18;
- 動的に設定するためのフォントサイズを変数
size
に定義します(ここでは 18pt)。
- 動的に設定するためのフォントサイズを変数
- cell.setValue(“これは動的にサイズを変更した文字です”);
- A1セルに文字列を入力します。
- const font: ExcelScript.RangeFont = cell.getFormat().getFont();
- A1セルのフォント情報を取得し、
font
という変数に格納します。
- A1セルのフォント情報を取得し、
- font.setSize(size);
- 変数
size
の値を使って、A1セルのフォントサイズを変更します。
- 変数
- }
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();
}
処理結果


コードの動作概要
getRange("A1:C3")
で複数セルを範囲指定します。
setValues()
を使って、セル範囲に文字列を一括入力します。
getFormat().getFont()
により、対象セルのフォント設定を操作可能にします。
setSize(16)
で範囲内すべての文字サイズを16ポイントに変更します。
autofitRows()
+ autofitColumns()
で行と列のサイズを最適化します。
このコードで使用している機能
機能名 | 説明 |
---|---|
getRange(“A1:C3”) | 指定範囲(複数セル)を取得します。 |
setValues() | 2次元配列で複数セルにまとめて値を設定します。 |
getFormat().getFont() | 範囲内のフォント設定を一括で取得します。 |
setSize(16) | フォントサイズを一括で変更します。 |
autofitRows() | 行の高さを自動で調整します。 |
autofitColumns() | 列の幅を自動で調整します。 |
1行ずつコードを解説
「クリック」してコードの詳細解説を見る
- function main(workbook: ExcelScript.Workbook): void {
- スクリプトのメイン関数を定義します。
workbook
はExcelファイル全体を指します。
- スクリプトのメイン関数を定義します。
- const sheet: ExcelScript.Worksheet = workbook.getWorksheet(“Sheet1”);
- “Sheet1″という名前のワークシートを取得し、
sheet
という変数に格納します。
- “Sheet1″という名前のワークシートを取得し、
- const range: ExcelScript.Range = sheet.getRange(“A1:C3”);
- セル範囲A1からC3までを取得し、
range
という変数に格納します。
- セル範囲A1からC3までを取得し、
- range.setValues([
[“氏名”, “所属”, “日付”],
[“田中”, “営業部”, “2024/04/01”],
[“山田”, “開発部”, “2024/04/02”]
]);- 対象範囲のセルに文字列を一括で入力します。
2次元配列で、行×列の順に配置されます。
- 対象範囲のセルに文字列を一括で入力します。
- const font: ExcelScript.RangeFont = range.getFormat().getFont();
- 範囲内のすべてのフォント設定を取得します。
- font.setSize(16);
- 取得したフォントオブジェクトに対して、一括でサイズ16ptを設定します。
- range.getFormat().autofitRows();
- 行の高さを自動で調整し、文字の見切れを防ぎます。
- range.getFormat().autofitColumns();
- 列の幅も自動調整して、全体のバランスを整えます。
- }
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();
}
処理結果


コードの動作概要
対象範囲にサンプルデータを setValues()
で入力します。
getCell(row, col)
を使って、範囲内のセルを1つずつ処理します。
if
文で、値が “高” または “重要” のときだけ setSize(18)
を実行します。
setSize(16)
で範囲内すべての文字サイズを16ポイントに変更します。
autofitRows()
、autofitColumns()
で行・列を調整します。
このコードで使用している機能
機能名 | 説明 |
---|---|
getRange() | セル範囲を取得します。 |
setValues() | 2次元配列で複数セルにまとめて値を設定します。 |
getCell(row, col) | 指定位置のセルを個別に取得します。 |
getValue() | セルに入力されている値を取得します。 |
if 文 | 条件に合うかどうかを判定します。 |
setSize() | 条件に合うセルだけフォントサイズを変更します。 |
autofitRows() | 行の高さを自動で調整します。 |
autofitColumns() | 列の幅を自動で調整します。 |
1行ずつコードを解説
「クリック」してコードの詳細解説を見る
- function main(workbook: ExcelScript.Workbook): void {
- スクリプトのメイン関数を定義します。
workbook
はExcelファイル全体を指します。
- スクリプトのメイン関数を定義します。
- const sheet: ExcelScript.Worksheet = workbook.getWorksheet(“Sheet1”);
- “Sheet1″という名前のシートを取得します。
- const range: ExcelScript.Range = sheet.getRange(“A1:C3”);
- 範囲 A1〜C3 のセルを取得し、変数
range
に代入します。
- 範囲 A1〜C3 のセルを取得し、変数
- range.setValues([
[“項目”, “重要度”, “備考”],
[“売上”, “高”, “チェック済”],
[“利益”, “中”, “要確認”]
]);- 指定した2次元配列のデータを、A1〜C3に一括で設定します。
- for (let row = 0; row < 3; row++) {
- 行インデックス(0〜2)でループ処理を開始します。
- for (let col = 0; col < 3; col++) {
- 列インデックス(0〜2)でループ処理を開始します。
- 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);
- フォントサイズを18ptに設定します(強調表示)。
- }
}
}- ループと条件処理の終了。
- range.getFormat().autofitRows();
range.getFormat().autofitColumns();- 行と列のサイズを自動調整して、文字の見切れを防ぎます。
- }
- 関数の終了。
総括・ポイント
このコードは、複数のセルの中から条件に合致したセルだけを強調表示(サイズ変更)する例です。
if
文とgetValue()
を組み合わせることで、セルの中身に応じて動的に見た目を調整できます。- 「重要」や「高」など、特定のキーワードを強調する資料作りに最適です。
getCell()
を使ったセル単位の処理は、データの部分的な整形にも応用可能。
この記事のまとめ
この記事では、Officeスクリプトを使ってExcelの文字サイズ(フォントサイズ)を変更する方法について、基本から応用まで段階的に解説しました。
setSize()メソッドの使い方を中心に、見切れ回避のための注意点や実践的な使用例(変数利用・複数セル・条件付き変更)を紹介しました。
実際の業務で「見やすいシートを整える」「特定のデータだけ強調する」といったシーンで、すぐに活かせる内容だったかと思います。
ポイントのおさらい
- 基本文法:setSize()の使い方
cell.getFormat().getFont().setSize(数値)
でフォントサイズを変更することができます。
単位はポイント(pt)となります。
⇒ 「OfficeスクリプトでsetSize()を使って文字サイズを変更する方法を詳しく解説」をもう一度見る
- 注意点まとめについて
- 結合セルでは自動調整が効かないことがあります。
無効なサイズ(0や1000など)は非推奨でエラーが発生します。
見切れ対策にはautofitRows()
とautofitColumns()
を使用しましょう。
⇒ 「OfficeスクリプトでsetSize()を使うときの注意点まとめ」をもう一度見る
- 結合セルでは自動調整が効かないことがあります。
- 使用例からの実践スキル
- 変数でサイズを動的に変更:柔軟なスタイル設定が可能に
- 複数セルに一括適用:表全体を整えるのに最適
- 条件付きでサイズを変更:強調表示に便利(例:値が「重要」のときだけ)
⇒ 「Officeスクリプトでフォントサイズを変更する使用例」をもう一度見る
今回の学びを活用するために
シーン | 活用例 |
---|---|
報告書や日報作成 | 見出し・項目名を大きくして視認性アップ |
マクロ自動整形 | セル結合を避けつつ、サイズと見栄えを両立 |
PowerAutomateと連携 | 入力値に応じたサイズ変更も自動化可能 |

