スポンサーリンク

【Office Scripts】Excel VBAユーザーの為のOffice Scripts(配列、オブジェクト)

Office Scripts

こんにちは、blueです。

今回はOffice Scriptsでの配列とオブジェクトの書き方について説明します。

VBAとOffice Scriptsはプログラミング言語が異なる為、書き方は大きく異なります。
ただプログラミングの基本は同じですので異なる部分を勉強していけば理解は早いと思います。

VBAと異なる部分も多いですが一つずつ丁寧に説明しますのでぜひ勉強していってください。

Office Scriptsを一から学んでみたい方は以下の書籍がお勧めです。TypeScriptの基本からPower Automateへの連携まで、OfficeScriptsを扱う為必要なすべての内容が書かれています

Office Scriptsって何?という基本から知りたい方は以下の書籍がお勧めです。技術書ながら非常に読みやすい構成となっているので、本を読むのが苦手な人もストレスなく勉強できるかと思います

スポンサーリンク

配列

Office Scriptsの配列の宣言は変数名にではなく、データ型[](ブラケット)を付けます。動的配列のみ存在します。

~Office Scriptsの場合~

let 変数名:データ型[]

~VBAの場合~

Dim 変数名(3) As データ型    静的配列

Dim 変数名() As データ型    動的配列

また配列に値を格納する際は[1,2,3]インデックスを指定することで記載します。

~Office Scriptsの場合~

let 変数名:number[]=[1,2,3] 宣言時に格納

変数名[1]=2 宣言後に格納

~VBAの場合~

Dim 変数名(3) As Long

変数名(0)=1

変数名(1)=2

変数名(2)=3

配列の最後尾に要素を追加するときはpushメソッドを使います。VBAではdictionaryのaddメソッドに似ていますが、静的配列、動的配列にはメソッドは存在しません。

~Office Scriptsの場合~

配列.push(値1, 値2・・・)

~VBAの場合~

なし(動的配列に対してはUBoundで個数を確認した後+1する方法がある)

オブジェクト

オブジェクトは関連するデータや処理をひとまとめにした箱」のようなものです。まとめたデータを送る際、受け取る際などに必要となります。

Office Scriptsでは{キー:値, キー:値}キーを組み合わせで表現されます。
値を格納する際は{キー:値, キー:値}変数名[キー】を指定することで記載します。VBAにおいてはdictionary(連想配列)が近いものとなります。

~Office Scriptsの場合~

let obj={キー:値, キー:値}  宣言時に格納

obj[キー]=値 宣言後に格納

~VBAの場合~

Dim dic As New Scripting.Dictionary

dic.Add キー, 値

dic.Add キー,値

オブジェクトから値を取り出す際は「.」(ピリオド)+キーで指定するか[]の中にキーを記述します。VBA

~Office Scriptsの場合~

obj.キー

obj[キー]

~VBAの場合~

dic.Item(キー)

dic(キー)

オブジェクトと連想配列の違いについては以下の記事が参考になりました。JavaScriptでは値に関数を入れることもできることから呼び名が変わっているようです。

参考:JavaScriptの連想配列とは?オブジェクトとの違いや値の取得方法まで徹底解説

今回のまとめ

今回はOffice Scriptsでの配列オブジェクトの書き方について説明しました。

配列[], オブジェクト{}で書くのがOffice Scriptsの基本になることが分かっていただけたかと思います。次回は『制御構文』について説明します。

Office Scriptsに関しては体系的に勉強することも重要です。以下の書籍では基本的なところから応用まで記載してくださっているので「もっと書けるようになりたい!」という方はぜひこちらもご検討ください

Office Scriptsを一から学んでみたい方は以下の書籍がお勧めです。TypeScriptの基本からPower Automateへの連携まで、OfficeScriptsを扱う為必要なすべての内容が書かれています

Office Scriptsって何?という基本から知りたい方は以下の書籍がお勧めです。技術書ながら非常に読みやすい構成となっているので、本を読むのが苦手な人もストレスなく勉強できるかと思います

コメント

タイトルとURLをコピーしました