アプリケーション

【msoFileDialogOpen 変数が定義されてません】Access VBA では参照設定が必要

Access VBA で msoFileDialogOpen を指定してコンパイルするとエラーになってしまったので解決方法をシェアします。

msoFileDialogOpen 変数が定義されてません

「変数が定義されていません。」が出力されます。

環境

対処の前に私の環境を確認します。細かいビルドバージョンは省略します。

  • Windows 10(Surface Go)
  • Office 365(お名前.com)

対処

こちらの URL が参考になりました。

オフィス2003を使っています。 Sub Sample1() With Application.FileDialog(msoFileDialogFolderPicker) I

参照設定を追加します。

Microsoft Office 16.0 Object Library(環境によって数字は異なる)をチェックします。

再度コンパイルしてみてください。同じ箇所でエラーが発生しなければ解決です。

参照設定とは

参照設定は拡張機能のようなものと思ってもらって良いと思います。
普段はあまり使われない機能はオフにしておいて動作を軽くしてる、というイメージでしょうか。

なので今回の msoFileDialogOpen(MsoFileDialogType Enum) を含む「Microsoft Office 16.0 Object Library」(16.0 は環境次第)は Access ではあまり使われないんでしょうね。

今回のようなケースが発生するのは、Excel から Access にコピーしただけでは動作しないとか、ネットで公開されてるソースをコピペしたのに!という場合が多いかもしれません。

「参照設定」を追加することで解決することが多いです。

さいごに

参照設定についてはあまりちゃんと勉強したことがないので理解間違ってるかもしれません。Twitter などでご指摘いただければ幸いです。

私のプログラマとしてのキャリアは VB6.0 からだったのですが、エラーになったと先輩に話して言われるがまま参照設定を追加したことを覚えてます。何してるかさっぱりわからなかったな。

ABOUT ME
rabirgo
うさぎ年(rabbit)おとめ座(virgo)生まれの rabirgo です。 2019年よりフリーランスとして活動しています。 よかったら Twitter フォローお願いします! Follow @rabirgo

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です