Access参照設定のエラーメッセージについて

このQ&Aのポイント
  • AccessにてExcelファイルの参照設定で「Microsoft Excel 14.0 Object Library」にチェックを入れているが、ExcelがインストールされていないPCで起動するとエラーメッセージが表示される。
  • フォームを開くタイミングでExcelのインストール確認が遅いため、VBAを使用してこのエラーメッセージを表示させずに独自のメッセージを出すことは可能か。
  • これに対する解決策として、Excelがインストールされていない場合でもエラーメッセージを表示せずにVBAからメッセージを出す方法を教えてください。
回答を見る
  • ベストアンサー

Access 参照設定のエラーメッセージについて

お世話になります。 Accessにてツール(Excelファイルの参照、更新有り)を作成しており、 参照設定で「Microsoft Excel 14.0 Object Library」にチェック を入れております。 当該ツールをExcelがインストールされてないPCで起動すると、以下の メッセージが表示されます。 参照設定しているにも関わらず、Excelがインストールされてないことに よるものだと思うのですが、このエラーメッセージを表示させずVBAより メッセージを出すことは可能でしょうか。 なお、ツールを起動するとフォームを開くようにしており、その開くイベントで 読み取り専用で開かれたかどうかのチェックを行っております。 読み取り専用で開かれた場合、メッセージを表示しているのですが、この メッセージより先にエラーメッセージが表示されるので、フォームを開く タイミングでExcelがインストールされているかどうかのチェックは遅いと 思われます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

この問題を根本的に解決するには 参照設定から外して実行時バインディングしかありません。 これならエラートラップできます。 マルチポスト・質問をほったらかし・・・ http://stakasaki.at.webry.info/200512/article_3.html 回答者から相手にされなくなりますよ。マナーは大事。 (貴方だけじゃないんですけどね・・・。)

naoto0216
質問者

お礼

NotFound404様 いつもご回答ありがとうございます。 ツールを作成していて不明点があったら次から次に質問を 投稿し、質問を締めないまま放置し、さらに似たような質問を 投稿。。大変失礼しました。今後気を付けます。 バインディングにつきましては自力で調べてみたいと思います。 ありがとうございました。

関連するQ&A

  • Access VBA 参照設定とは・・?

    Access初心者です。2003を使用しています。 ライブラリの参照設定(この表現でわかるでしょうか?)で参照するライブラリを増やし、モジュールを作成しました。このモジュールを含むツールは問題なく私のPCでは動いていましたが、ファイルサーバに投入し他のPCで実行させると、「・・・参照する切断された参照が含まれています。」とエラーがでてしまいます。 エラーを一旦閉じ、参照設定を見ると「(非参照)・・・・」にチェックが入っていました。このチェックを外すと問題なく動きます。チェックを外す作業を他の人にやってもらったので、ライブラリ名までわかりませんが、ツール作成時に「Microsoft ActiveX Data Object 2.1 Library」を参照可能にしました。 以下が初心者な質問ですがご教授いただきたい部分です。 ライブラリの参照設定は、インストールされているAccessに設定されるのでしょうか?それとも、作成したファイル毎の設定になるのでしょうか?前述の場合でしたら、ツールを配付した先で設定を変更してもらわねばなりません。後述でしたらモジュールをインポートした際に参照設定を変更しなければなりません。 また、参照設定の変更はVBAを用いて変更可能でしょうか?(フォームボタンから参照のON・OFF) へたくそな文章で伝わり難いとは思いますが、どなたかご教授ねがいます。

  • AccessVBAの参照設定について

    Office2003(Access2003VBA)で、『MicroSoft 10.0 object Libbrary』にチェックを入れて、エクセルの、『ファイルを開くダイアログボックス』を使用しました。しかし、参照設定したファイルを、他人のPC(officeXP)で起動すると、『参照不可』のため、『ファイルを開くダイアログ』が使用できません。もちろん、参照設定を、やりなおせばいいわけですが、こんなもの納品できません。参照設定の正しい設定の仕方とかあるんでしょうか?ちなみに、同じファイルを、今度はOffice2007のPCで起動すると、ちゃんと、『MicroSoft 11.0 object Libbrary』にチェックが付いていました。どんなPCでも、Office(XP以降)がインストールされていれば、チェックされていて欲しいのですが、無理なんでしょうか?

  • DetectExcel 参照設定

    VBで、Excelを起動する際、オブジェクト名.DetectExcelとやっています。 これが、参照設定「Microsoft Excel 11.0 Object Library」ではエラーとなり、「Microsoft Excel 9.0 Object Library」ではエラーになりません。 これは仕様なのでしょうか? 何か回避方法があればご教授下さい。 よろしくお願いします。

  • アクセスVBAの参照設定

    アクセスVBAからエクセルを使うためにVBAのツールメニュでExcel11.0 Object Libraryを参照設定すると、なぜか「参照不可」になってしまいます。 別のパソコンでは問題ありません。 原因は何でしょうか?どうすれば解決できるのでしょうか? よろしくお願いします。

  • 参照設定 VBAとvb.net

    VBAの場合、他のアプリケーションを参照する場合は、 参照設定でMicrosoft Excel xxx Object Library にチェックを付ければ良いだけだけど、 vb.netの場合は、 参照設定で、Microsoft Excel xxx ObjectLibrary にチェックを付けた上で、更に Imports Microsoft.Office.Interop の宣言をしないといけないのですか? (例はエクセルです) Imports Microsoft.Office.Interop をし忘れると、 [型 'Excel.Workbook' が定義されていません。] と言うエラーが発生します。

  • Accessの参照設定メニュー

    Office2000Professionalをインストールしたのですが、 Access2000の「ツール」メニューに「参照設定」が 存在しません。そのため、Microsoft DAO 3.6 Object Libraryを使用することが出来ません。 ツールメニューに「参照設定」が表示されない理由及び 表示されるようにする方法を教えて下さい。 環境は OS:Windows2000 Professional(サービスパック2) Office2000 Professional です。

  • Accessで MSCOMCT2.OCX 参照不可をコードで解決したい

    宜しくお願いします。 Access2003(WinXP)でオブジェクトを配置してコードを書いています。 自分のPCでは問題ないのですが、他人のPCで稼動させると 『MSCOMCT2.OCX ver2.0』参照できません というようなエラーが出ます。 ツール→参照設定を開くと  Microsoft Windows Common Control-2 6.0(SP4) が参照不可になっていました。 チェックをはずせばOKですが、この作業をコードで出来ないでしょうか。 ちなみにExcelを開くイベントもあり、そちらは Create Object で解決できました。同じように・・・と思ったのですが、どういうコードを書いたら良いのか分かりません。。 宜しくお願いします。

  • フォーム上のレコード数表示がエラー(Access2007)

    こんにちは。いつもこちらで勉強をさせていただいております。 早速ですが、次の現象で困っております。 Access2000ベースで開発されたDB内の、あるフォームには当該フォーム内のレコード数を表示するテキストボックスがあります。 このコントロールソースは次のとおりです。 =[RecordsetClone].[RecordCount] このDBをAccess2000で開くと正常にレコード数が表示されるのですが、Access2007で開くと「#Name?」となって表示されません。 因みにAccess2007の参照設定は「Microsoft DAO 3.6 Object library」にチェックを入れております。 何とかAccess2007でも正常に表示させたいのです。 どなたか解決方法を教えいただけませんか。 よろしくお願いいたします。

  • Excel2000 → Excel2002でエラー

    Excel2000で作成したファイルがあります。それを、Excel2002で使用したいのですが、 ユーザーフォームにカレンダーコントロールを 設定している分が、エラーとなって表示されません。 その他のマクロ等に関してもエラーが出たので、 VBEの「ツール」-「参照設定」にて参照付加になっているもののチェックははずしました。 どのようにしたらよいでしょうか? よろしくお願いします。

  • access2003参照設定の質問

    WinXP Aceess2003で作成したプロジェクトをWin7でコンパイル・実行などを行い、再び自分のXP に持帰ったら、"DLL読み込み時のエラーです"などのメッセージで動きません。 プロジェクトが壊れたと思い、新規作成したプロジェクトにインポートしようとしたら、"既存のモジュール、プロジェクト、オブジェクトライブラリと名前が競合しています"で別プロジェクトにもインポート出来ません。 色々見てみると、参照設定に"参照不可 Excel14.0 Oblect Library"があったので、チェックをはずしてOKをすると、これも"DLL読み込み時のエラーです"が出ます。 Win7で実行した時に、環境が変わったようですが、どうすれば良いですか? 宜しくお願い致します。