このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

ArrayList「メモリが不足しています。」のエラーが出る原因を説明

パソコンを変えたところ、これまでエラーの無かったマクロで「メモリが不足しています。」というエラーが発生するようになりました。

原因を確認したところマクロ内で参照していた「ArrayList」が原因でした。

詳しい原因と対策を紹介します。

VBAが難しいと感じたら
VBAのプロに代わりに作ってもらうのはいかがでしょうか?
ココナラでVBAの作成請負を受け付けています。お気軽にご相談ください。

「メモリが不足しています。」の原因

調べてみると、.NET 4.5 Framework以降?で、外部からのSystem.Collection.ArrayListへのアクセスができなくなっているようだ。最近のWindows10はクリーンインストール時に、.NET 4.5 Framework以前の環境が無効化されている。

https://qiita.com/jiey@github/items/cd6cada8ce38856396d8

最近のWindowsではArrayListに外部からアクセスできなくなったようです。

マクロ(VBA)からもArrayListにアクセスすることができず、エラーが発生したようです。(もうちょっと分かりやすいメッセージだといいのに。。。)

「メモリが不足しています。」の対策

最近の.NET Frameworkだと外部アクセスができませんが、以前の.NET Frameworkであれば問題なく利用できます。

そのため、以前の「.NET Framework 3.5」を有効化することでエラーを解消させることができます。

まず、「Windowsの機能の有効化と無効化」を開きます。(Windowsキーを押して「Windowsの機能の有効化と無効化」と打ち込めば出てきます。

上の画像が表示されるので、その中の「.NET Framework 3.5」のチェックボックスをクリックします。

不足している内容については自動的にダウンロードが始まり、「.NET Framework 3.5」が有効化されます。

この状態になれば「ArrayList」のエラーが解消されているはずです。

VBAが難しいと感じたら
VBAのプロに代わりに作ってもらうのはいかがでしょうか?
ココナラでVBAの作成請負を受け付けています。お気軽にご相談ください。

VBA

Posted by やろまい