【ExcelVBA】LoadPictureメソッドでImageコントロールに画像を読み込ませるとエラーになる原因と解消法について

この記事では、LoadPictureメソッドでImageコントロールに画像を読み込ませるとエラーになる原因と解消法についてご説明します。

今回扱うLoadPictureメソッドで発生するエラーは下のとおりです。

「Sub または Function が定義されていません。」とのエラーメッセージが表示されていますが、このエラーを見ても情報が少ないので何が原因なのか分かりづらいと思います。

そこで、このエラーについて原因と解消法についてご説明します。

エラーが発生する事象

エラーが発生する事象を再現するため、今回は以下のExcelファイルを用意しました。

Imageコントロールに、黄色に入力された画像ファイルのフルパスを元に画像を表示させます。

Imageコントロールに画像を表示させるにはLoadPictureメソッドに画像のフルパスを指定して実行します。

実行すると、LoadPictureメソッドを実行するとエラーとなり、先ほどのエラーメッセージが表示されます。

エラーになる原因

エラーになる原因は、「OLE Automation」を参照設定に追加していないことが原因です。

エラーの解決法

エラーの解決法は「OLE Automation」を参照設定に追加することです。

「OLE Automation」を参照設定に追加して実行した結果

「OLE Automation」を参照設定に追加して実行した結果、正常にImageコントロールに画像を読み込ませることができ、画像を表示させることができます。

最後に

この記事では、LoadPictureメソッドでImageコントロールに画像を読み込ませるとエラーになる原因と解消法についてご説明しました。

画像をImageコントロールに表示させようとLoadPictureメソッドを実行しようとしたら「Sub または Function が定義されていません。」とのエラーメッセージが表示されてうまくいかない時は本記事の内容を参考にしてみてくださいね。

プログラミングのスキルを習得するなら

プログラミングのスキルを習得したい、今のスキルをもっと高めたい、そう考えているなら「プログラミングスクール」がおすすめです。

プログラミングのスキルの基礎を身につけるなら「TechAcademy」で1週間の無料体験があるので、これで「プログラミングの基礎」を学ぶのにおすすめですよ。

→ TechAcademyの「1週間 無料体験」はこちら