Excel Office スクリプト 変数の基本的な使い方

2023年4月11日

English version.

Office スクリプトにおける変数の基本的な使い方を紹介します。

解説

変数とはデータを一時的に保存しておく箱のようなものです。

Office スクリプトやVBA(マクロ)のようなプログラム言語ではこの変数を多用します。

変数の宣言とデータ型

変数を利用するには宣言をする必要があります。

それには以下の構文で行います。(赤字は適宜変更

let 変数名: データ型;

変数名は任意です。どんなデータを入れるかを名前にしましょう。

(ただし同じ変数名は複数、宣言できません)

データ型は決まっていて、頻繁に利用するものは以下の通りです。

データ型種類マクロ(VBA)での対応
string文字列String
number数値Integer,Singleなど
boolean論理(TRUEかFALSE)Boolean
any 不定Variant
Date日付Date

any型はどんなデータでも入りますが、

利用する際にデータ型の変換が必要になる場合や、

挙動が安定しない場合があるため、

基本的にはany以外を利用する方がよいです。

コード例

Date型は日付と日時を両方作るため二つ用意しています。

any型は宣言だけでは作れません。

宣言と同時に初期化

=を使うと、宣言と同時に値を設定可能です(変数の初期化)。

let 変数名: データ型 = 設定値;
データ型設定値のルール設定値の例
string"で囲む"ABC"
number数値として認識できること123.123
booleantrueかfalsetrue
Datenew Date(年,月 - 1 ,日)
new Date(年,月 - 1 ,日,時,分,秒)
new Date(2021,6 - 1,1)
new Date(2021,6 - 1,1,12,30,45)
anyデータ型を指定しない、
かつ他のいずれかのデータ型の通り
"ABC"

Date型は特殊な枠なので(全体でみるとこっちが主流ですが)newが必要です。

また月の範囲は0~11です(0が1月、11が12月)。-1する必要がある点に注意が必要です。

コード例

変数に値を設定(代入)

変数に値に設定するには以下のようにします。(変数の代入とも呼びます)

変数名 = 設定値;

letとデータ型がない以外は宣言時に初期化するのと同じ方法です。

設定値には別の変数や加減乗除などの数式を指定することも可能です。

変数からセルに値を設定

string、number、boolean

変数をそのまま利用します。

workbook.getWorksheet("シート名").getRange("セルアドレス").setValue(変数);

以下、コード例です。//で始まる緑の文字はコメント(挙動に影響のないメモ書き)です。

コード例

「Number.MIN_SAFE_INTEGER」と「Number.MAX_SAFE_INTEGER」は

number型の最大値と最小値です。実行すると次のようになります。

コード例の実行結果

Date

そのままでも利用できますが、Excelで日時と認識できる形式でないため変換が必要です。

変数名.toLocaleString('ja-JP')
コード例

実行すると次のようになります。

コード例の実行結果

🚀 Excel自動化を「点」から「線」へ。体系的に学びたい方へ

本記事で解説したテクニックは、日々の業務を効率化する大きな一歩です。

しかし、実務で直面する複雑な課題を解決するためには、基礎から体系的に知識を身につけることが最短ルートになります。

「ネットの情報だけでは限界を感じる」「もっと自由自在にツールを作れるようになりたい」

そうお考えのあなたにおすすめしたいのが、Officeスクリプトを網羅的に学べるこちらの電子書籍です。

『ビジネスパーソンのためのOfficeスクリプト入門:Excel作業の自動化とデータ処理【2025年7月大幅改訂版】』

この書籍は、忙しいビジネスパーソンが最短でOfficeスクリプトを習得できるよう設計されています。

本書のここがポイント!

  • 🔰 プログラミング知識ゼロでも大丈夫! 専門用語を避け、初心者目線でやさしく解説。「VBAは難しかった…」という方でも安心してスタートできます。
  • 🔄 VBA経験者はスムーズに移行! VBAとの違いを比較しながら解説しているので、今ある知識を無駄なく活かせます。
  • 【2025年7月大幅改訂】最新トレンドを完全網羅! 話題の生成AIを活用してコード作成を強力に支援する方法を新設。さらに、Power Automateと連携した高度な自動化シナリオも大幅に拡充されています。

「脱・手作業」を実現し、ワンランク上の業務効率化を目指すための必携書です。ぜひ手に取ってみてください。

関連記事

Excel Office スクリプトの記事一覧