実験的にVBAから.NET FrameworkのSystem.Collections.ArrayListを使ってみるテストコードを書いてみたのだが、ノートPCでは動作するが、デスクトップPCでは動作しない症状(オートメーションエラー)に直面した。

クラスモジュール:Point
標準モジュール:Module1

デスクトップおよびノートパソコンの環境は下記の通り統一されている。

  • Windows 10 Pro 64bit
  • Office 365

原因を探ると、.NET Framework 3.5(3.0/2.0)有効化の有無で動作しなかったようだ。つまり何らかの操作にてノートパソコン環境は有効化されていたが、最近セットアップしたデスクトップパソコンではWindows10標準では無効化されているため動作しなかったという結論に至る。逆に.NET Framework4.0以降はVBAからアクセス許可されないということ。すなわち最新の機能は利用できない。だが、もともとVBAから.NET Frameworkの操作には制限があるとのことなので、利用場面は限定される。ArrayListそこそこ便利でした。

.NET Framework自体は今後もWindowsに残るけど、このようなバージョンによる制限は、将来的に.NET Coreへ移行する布石だろう。

新しい技術が出てくるたびに、勉強しなければならないプログラマーさんは大変ッス。これじゃあ、いくら時間があっても足りないわけですよ。

コメントを残す

*
*

Required fields are marked *