投稿者 魔界の仮面弁士  (社会人) 投稿日時 2021/2/2 02:16:00
本題からは外れますが、ニケさんの投稿に少し補足。

> 現状でVB系の情報を検索した時、大半はVB.NETの話で、しかも64bitが基準です。
.NET Framework 4.5 以降向けのプロジェクトの場合は、32bit が基準と言えます。
既定の対象プラットフォームが『AnyCPU (32bit優先)』になっていますからね。

(もちろん対象プラットフォームを変更すれば、64bit アプリケーションを作成できます)

一方、.NET Framework 2.0~4.0 向けのプロジェクトの場合は、
既定で『AnyCPU』のため、64bit OS なら 64bit 動作、32bit OS なら 32bit 動作になります。
ただし VB2010 の場合だけは、既定で『x86』であり、64bit OS でも 32bit 動作になる仕様です。
http://blog.livedoor.jp/hayaokitaro/archives/51986971.html


> VBAはVB.NETの前世代であるVB6.0(1990年代のプログラミング言語)から仕様が
> 据え置かれています。この為、32bitが基準です。

Office 2019 や現行バージョンの Office 365 においては、
既定で 64bit バージョンがインストールされる仕様になりました。

その後の更新で 64bit 版の mscomctl.ocx も追加されています。
https://support.microsoft.com/ja-jp/office/2dee7807-8f95-4d0c-b5fe-6c6f49b8d261#32or64Bit
https://docs.microsoft.com/ja-jp/officeupdates/monthly-channel-2017#:~:text=mscomctl.ocx%20%E3%81%AE%2064


言語仕様が据え置きという点はその通りで、非.NET の Visual Basic は、
VB6 以降、言語機能の追加がほとんどありません。

とはいえ VBA7 からは、VB6 には無かった 64bit サポートのために、
条件付きコンパイル定数や型宣言文字、新しいデータ型などが追加されていたりします。
(LongPtr 型、PtrSafe 属性、CLngPtr 関数、DefLngPtr ステートメント等々)

VBA (Visual Basic for Applications) の歴史的を辿ると、確かこんな感じだったかと。
64bit 版が追加されたのは Office 2010 からですね。Office for Mac だと 2016 から。

発売年  Version  16bit  32bit  64bit  主な搭載製品
------  -------  -----  -----  -----  -----------------------------
1993年  VBA初版   ○     ×     ×    Excel 5.0
1996年  VBA 4.0   ○     ○     ×    Visual Basic 4.0
1997年  VBA 5.0   ×     ○     ×    Visual Basic 5.0 / Office 97
1998年  VBA 6.0   ×     ○     ×    Visual Basic 6.0
1999年  VBA 6.1   ×     ○     ×    Office 2000
2000年  VBA 6.2   ×     ○     ×    Office 2000 SR-1
2001~  VBA 6.3   ×     ○     ×    Office XP
2003~  VBA 6.4   ×     ○     ×    Office 2003
2006年  VBA 6.5   ×     ○     ×    Office 2007
2010年  VBA 7.0   ×     ○     ○    Office 2010
2013~  VBA 7.1   ×     ○     ○    Office 2013/2016/2019