おすすめパワポ本12選!プロから学ぶ資料作成術

【パワポVBA】msoTrueとTrueの違いについて解説

PowerPoint VBAを使って作業を自動化する際、「msoTrue」と「True」の違いについて混乱することはありませんか?

「msoTrue」と「True」はどちらも「真」を意味しますが、使用する場面や意味合いが異なります。この記事では、これらの違いについて解説しています。

スポンサーリンク
スポンサーリンク

「msoTrue」とは?

「msoTrue」は、Microsoft Office VBAで使用される定数の一つで、その値は「-1」です。特に、Microsoft Officeの機能や設定を制御するために使用されます。

例えば以下のコードのように、PowerPointで図形を表示するかどうかを制御する際には、「msoTrue」を使用します。

If myShape.Visible = msoTrue Then

    'Shapeが表示されている場合の処理

End If

「msoTrue」は、MsoTriStateという列挙型に含まれており、そのデータ型は「Long」です。この列挙型には他にも「msoFalse」(値は0)などが含まれます。

「True」とは?

「True」は、Microsoft Office VBAで使用されるBoolean型(真偽)の値の一つで、その値は「-1」です。特に、if文などの条件分岐やループ処理などで使用されます。

例えば以下のコードのように、ある条件が満たされている場合に特定の操作を実行するようなプログラムを書く際には、「True」を使用します。

If myCondition = True Then

    '条件が真の場合の処理 

End If

VBAでは、Boolean型の値は「True」と「False」の2種類あります。これらは、真偽値を表すための基本的な定数で、「True」は条件が真であることを、「False」は条件が偽であることを示します。

まとめ

「msoTrue」と「True」は評価すると同じ値(-1)になりますが、それぞれ異なるデータ型を持っており、「msoTrue」はLong型、「True」はBoolean型です。

同じ値(-1)ではありますが、具体的な使用状況や目的により、適切な方を選択して使用します。例えば、図形や線の表示・非表示を切り替える際には、「msoTrue」や「msoFalse」を使用するとよいでしょう。