Excel Office スクリプト 変数の基本的な使い方
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 |
boolean | trueかfalse | true |
Date | new 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')
実行すると次のようになります。
Office スクリプトを効果的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り700円またはKindle Unlimited (読み放題) で提供中です。
体系的に学びたい方は是非ご検討ください。
アップデートなどの更新事項があれば随時反映しています。
なお購入後に最新版をダウンロードするには
Amazonへの問い合わせが必要です。