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

2021年6月10日

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 スクリプトの記事一覧