【Office Scripts】Excel VBAユーザーの為のOffice Scripts(変数、演算子)

Office Scripts

こんにちは、blueです。

今回はOffice Scriptsでの変数と演算子の書き方について説明します。

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

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

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

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

スポンサーリンク

基本

変数に入る前にまずはOffice Scriptの基本的な書き方について説明します。

Office Scriptsでコードを書くための基本は以下になります。

  • 大文字と小文字は区別する
  • 文の終わりはセミコロン「;」をつけるか改行する
  • 文字列はシングルクォーテーション「‘」あるいはダブルクォーテーション「“」で囲う
  • コメントは///* */をつける

VBAとのもっとも大きな違いは大文字と小文字を区別するところになります。

後でも述べますが「String」と「string」では意味合いが異なってきますので注意が必要です。

また、改行を「;」で表すのも大きな違いになります。

参考:【JavaScript】1分で確認―5つの文法ルール

変数、定数

Office ScriptsではVBAのDimと違い、letキーワードを使って変数を宣言します。またAsではなく、コロンの後に型を記載します。

~Office Scriptsの場合~

let 変数名 :

あるいは
let 変数名=値

~VBAの場合~

Dim 変数名 As 型
あるいは
Dim 変数名
(型の指定を省略するとVariant型になる)


Office Scriptsでは型を省略して変数に直接代入することも可能です。

これはTypeScriptには代入する初期値から変数のデータ型を自動的に決める仕組み型推論)があることによるものです。
ただし、この場合は宣言と同時に代入する必要があります(改行してはダメ)。

ちなみに定数についてはConstキーワードを用います。

~Office Scriptsの場合~

Const 変数名 : 型=
あるいは
Const 変数名=値

~VBAの場合~

Const 変数名 As 型=値

これはVBAとほぼ同じです。宣言と同時に代入する必要があるところも同じです。

データ型

Office Scriptsでは基本データ型の先頭行は小文字として記載します

~Office Scriptsの場合~

数値型:number
文字列型:string
真偽型:boolean

~VBAの場合~

数値型:Long, Integer, Single, Double
文字列型:String
真偽型:Boolean

Office Scriptsでは「String」と「string」は明確に区別されます

前者はオブジェクト型としての文字列型になるので注意が必要です。

Office Scriptsでは「String」を使うことは推奨されていないので、基本小文字を使っておけば問題ないとのことです。

参考:TypeScriptのStringとstringは何が違うのか

また、Office Scriptsの数値型numberは整数や小数もまとめて扱うことができます。

算術演算子

Office Scriptsでは変数の増減に、インクリメント演算子デクリメント演算子が使えます。

~Office Scriptsの場合~

i++・・・iを1つ増やす (i=i+1でもOK)

~VBAの場合~

i=i+1

その他の算術演算子については以下にまとめました。剰余演算子累乗演算子**が異なります。

Office ScriptsVBA
加算++
減算
乗算**
除算//
剰余%Mod
累乗**^
インクリメント++
デクリメント

比較演算子

Office Scriptsでは等価演算子は== を使います。VBAは=を使います。

~Office Scriptsの場合~

i==2 (iは2と等しい)

~VBAの場合~

i=2 (コードの内容により、等価にも代入にもなる)

一方代入演算子前者は=、後者は=となります。VBAは両方とも=になるのが違いです。

その他の算術演算子については以下にまとめました。Office Scriptsではデータ型の一致まで含める厳密等価演算子なども存在します。また「~でない」を表すのにを使用するのも特徴です。

Office ScriptsVBA
等価===
厳密等価(データ型含む)===
不等価!=<>
厳密不等価(データ型含む)!==
大なり>>
小なり<<
大なり=>=>=
小なり=<=<=

論理演算子

Office Scriptsでは論理積(AND)は&&論理和(OR)は||を使います。

~Office Scriptsの場合~

論理積(AND)・・・ A && B

論理和(OR)・・・ A || B

論理否定(NOT) ・・・! A

~VBAの場合~

論理積(AND)・・・ A And B

論理和(OR)・・・ A Or B

論理否定(NOT) ・・・Not A

ここでも「~でない」を表す場合はを使用しています。

連結演算子

Office Scriptsでは連結演算子は+ を使います。

~Office Scriptsの場合~

結合演算子・・・

~VBAの場合~

結合演算子・・・、+

VBAでは文字列の結合に&を使用する例が多く存在しています。これは算術演算子か連結演算子かの区別をしやすくする為であり、可読性を高める為に+はあまり使用されていません。

今回のまとめ

今回はOffice Scriptsでの変数と演算子の書き方について説明しました。

letキーワード等価演算子==などVBAでは存在しないものも出てきましたが、書き方が違うだけでプログラミングの基本は同じことが分かっていただけたかと思います。
次回は『配列、オブジェクト』について説明します。

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

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

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

コメント

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