Access2003参照設定でDLL読み込み時のエラーが発生する問題の解決方法とは?

このQ&Aのポイント
  • WinXP Aceess2003で作成したプロジェクトをWin7でコンパイル・実行などを行い、再び自分のXPに持帰ったら、'DLL読み込み時のエラーです'などのメッセージで動きません。
  • プロジェクトが壊れたと思い、新規作成したプロジェクトにインポートしようとしたら、'既存のモジュール、プロジェクト、オブジェクトライブラリと名前が競合しています'で別プロジェクトにもインポート出来ません。
  • 参照設定に'参照不可 Excel14.0 Object Library'があったので、チェックをはずしてOKをすると、これも'DLL読み込み時のエラーです'が出ます。
回答を見る
  • ベストアンサー

access2003参照設定の質問

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

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

  • ベストアンサー
  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.2

ライブラリの整合性が取れていないためですね。 (1)XP環境で新しいまっさらのmdbを用意 (2)7環境のmdbをXPに持って行く (3)(1)に(2)のものをインポート たぶんこうするとVBEの参照設定が初期化されると思いますので、 適宜ライブラリを参照し直して見て下さい。

kirin4247
質問者

お礼

ありがとうございます。 新規mdbインポートでOKになりました

その他の回答 (1)

回答No.1

「Excel14.0 Oblect Library」なのでExcel2010が必要です。 WinXPのマシンにExcel2010は入ってますか? 入ってなければ、Excel2003の「Excel11.0 Oblect Library」を参照できないですか?

kirin4247
質問者

補足

Hayashi Trekさん おっしゃるように、Excel11.0にしようと、まず参照設定から14.0のチェックをはずしてOKしたら "DLL読み込み時のエラー"と出て、参照不可の14.0が外れてくれません。 参照不可の14.0を残したまま、11.0にチェックを付けると"既存のモジュール、プロジェクト、オブジェクトライブラリの名前が競合しています"になり、11.0に変更出来ない状況です。 宜しくお願いします

関連するQ&A

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

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

  • DLL参照時に指定されたモジュールが見つかりません。(HRESULT からの例外 0x8007007E) が発生してしまう。

    C++プロジェクト(Windowsフォームアプリ)を作成し、あるサイトで公開されているDLLを実装し→コンパイル→デバッグ実行させた所、問題なく動作が確認できたのですが、 クラスライブラリで作成したC++新規プロジェクトに同じくDLLを実装し、同一ソリューション内にC#又はC++でWindowsフォームアプリを作成し、先に作成したクラスライブラリプロジェクトを参照させる形態で作成した際に、コンパイル→デバッグ実行させた所、コンパイルは通ったのですがデバッグ実行時に、DLLを参照しようとしたタイミングで 「DLL参照時に指定されたモジュールが見つかりません。(HRESULT からの例外 0x8007007E) が発生してしまう。」 というエラーが発生してしまいました。 何故Windowsフォームアプリ単体時にはDLLが参照できたのに、クラスライブラリにし複数プロジェクトにして実行するとエラーが発生してしまうのか、どなたか原因、解法等 心得ておられましたら御指南のほど宜しくお願いします。 以下 事象詳細です。 開発環境:Microsoft Visual Studio 2008 公開DLL:USB-IOを制御する目的のUSBIODLLDemo.dllというDLLです。 <成功時> 1.C++プロジェクト(Windowsフォームアプリ)新規作成 2.DLLがインストールされているフォルダから.dllファイル, .hファイル、.libファイルをコピーしプロジェクト新規作成したフォルダにコピーする 3.プロジェクトのプロパティ→構成プロパティ→リンカ→入力→追加の依存ファイル に.libファイル名を記入 4.ダウンロードの.hファイルから __declspec(dllimport) BYTE __stdcall GetNo(void); __declspec(dllimport) void __stdcall P1Write(BYTE newVal); __declspec(dllimport) BYTE __stdcall P1WriteBit(BYTE Bit, BOOL Tf01); __declspec(dllimport) BYTE __stdcall P1Read(void);  をコピーしstdafx.h へ貼付け。 5.stdafx.hへ貼り付けた宣言がこのままではコンパイルが通らなかったため #define BYTE unsigned char #define BOOL bool  を追記。 6.ダウンロードしたDLLの関数を使用した一文を実装 7.コンパイル→デバッグ実行→ 無事実行完了! <エラー発生時> *下記事象ではC#Winフォームアプリを挙げていますがC++Winフォームアプリで試しても同じ結果になりました。 1.C++プロジェクト(クラスライブラリ)新規作成 2.DLLがインストールされているフォルダから.dllファイル, .hファイル、.libファイルをコピーしプロジェクト新規作成したフォルダにコピーする 3.プロジェクトのプロパティ→構成プロパティ→リンカ→入力→追加の依存ファイル に.libファイル名を記入 4.ダウンロードの.hファイルから __declspec(dllimport) BYTE __stdcall GetNo(void); __declspec(dllimport) void __stdcall P1Write(BYTE newVal); __declspec(dllimport) BYTE __stdcall P1WriteBit(BYTE Bit, BOOL Tf01); __declspec(dllimport) BYTE __stdcall P1Read(void);  をコピーしStdafx.h へ貼付け。 5.Stdafx.hへ貼り付けた宣言がこのままではコンパイルが通らなかったため #define BYTE unsigned char #define BOOL bool  を追記。 6.ダウンロードしたDLLの関数を使用した一文を実装(公開関数として) 7.C#プロジェクト(Windowsフォームアプリ)新規追加 *C++(Windowsフォームアプリ)でやっても同じ結果になりました。 8.新しい参照の追加で上のクラスライブラリプロジェクトを追加 9.フォームアプリ側でクラスライブラリプロジェクトの関数を実行する処理を実装 clsTest ctst; ctst.Exec(); 10.コンパイル→デバッグ実行→DLLを参照しようとしたタイミングでエラー発生! 「DLL参照時に指定されたモジュールが見つかりません。(HRESULT からの例外 0x8007007E) が発生してしまう。」 *クラスライブラリ側の、DLLの関数を呼んでいる部分をコメントアウトするとエラー無く実行できてしまいます。

  • Access2003でVBAツールの参照設定が無効になって選べないのですが、どうすれば選べるようになりますか?

    アクセスが次のようなエラーを起こすようになりました。 「データベースまたはプロジェクトに、ファイル'OWC10.DLL'version.1.1.を参照する切断された参照が含まれています」 それのヘルプは次のような内容です。 「Visual Basic Editor の [ツール] メニューの [参照設定] をクリックし、[参照設定] ダイアログ ボックスの [参照可能なライブラリ ファイル] リストを確認し、必要な操作を実行してください。」 そこでその作業を行おうとすると、「参照設定」の項目はありますが、グレー(無効)になっていて選択することが出来ません。 これを黒文字(有効)にするにはどうしたらいいのでしょうか? なお、このファイル全てを新しいmdbにインポートするとそちらでは正常に動くので、ヘルプどおり必要のない参照にチェックが入っているのだと思われます。 どなたかお助けください! よろしくお願いいたします。

  • エクセルBVA VBEの参照設定について

    パスワードを忘れてしまいVBEの参照設定を開けることができません。開けることが可能でしょうか、パソコンOS WIN98からXPに買い換えたため、「コンパイルエラー、プロジェクトまたはライブラリーが 見つかりません」が出て困っています。コードの Set wd = ateObject("Word.Application.10")は、9から10に変えました。 よろしくお願いします。

  • 参照設定で教えてください

    VB6です。 プロジェクトの参照設定でライブラリを追加してコンパイルしたexeファイルを他のパソコンで使用する場合、そのライブラリファイルも必要とするのでしょうか?

  • Selenium Type Library参照設定

    Selenium Type Libraryを参照設定すると「DLL 読み込み時のエラーです」 https://lil.la/archives/3436 のページに記された手順でSeleniumBasicやChrome Driverをインストールし、VBEから「Selenium Type Library」を参照設定すると「DLL 読み込み時のエラーです」と表示されます。同じことを別のPCで試したところ、そちらではエラーが発生せず、実際にChromeからのWebスクレイピングに成功しました。 Excel自体の再インストールが必要なのでしょうか?

  • Outlook に参照設定できない

    アクセスからアウトルックに参照設定したいのですが とあるファイルで Microsoft Outlook 14.0 Object Library へ参照設定しようとすると 「この名前は既にあるモジュール、プロジェクト、オブジェクト ライブラリで使われています」 と言うエラーになります。 ファイル1.accdbでは参照設定できるのに、 ファイル2.accdbでは参照設定できるのに、 だと上記のエラーが発生します。 vbaコードに問題があるのかと思い、 全てのコードをコメントアウトしましたが同じエラーが発生します。 現在すでに参照設定しているのは、 VBA Access stdole DAO だけです。

  • DLL作成で外部参照エラー?

    VC歴1週間です。 現在VC++2010で動的ライブラリ(DLL)を作ろうとしていますが、 作成しようとしているDLL内部で使用している関数がLIB提供されていません。 このような場合、win32プロジェクト→dll作成 を選択した状態でプロパティ変更しないで、 DLLを作ろうとするとその関数が外部参照エラーになるかと思います。 このような場合、/FORCEで強制出力してしまって良いものでしょうか? それともVC++側の設定でエラーにならずDLL生成ができるようになるものでしょうか? linuxなら cc -shared -o foo.so foo.c でライブラリ等何も気にせずシェアードライブラリが作れたので困惑しています。 よろしくご教示お願いいたします。

  • error LNK2001: 外部シンボル "_main" は未解決です

    VisualC++6.0で、新規作成→win32 Dinamic-Link Libraryでプロジェクト を作成し、dllファイルを作っています。 今までは、上手くコンパイル出来て、dllを作れていました。 友人の作ったライブラリにリンクして、ソースファイルで そのライブラリの関数を使って、コンパイルすると、 LIBC.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です。 というエラーが出て困っています。 今、プロジェクトの設定→リンク→アウトプットの エントリポイントシンボルはDllEntryPoint@12となっています。 どうしたら良いでしょうか? どなたかご教授くださると助かります。 ちなみに、ライブラリの関数をコメントにすると、コンパイル出来ます。

  • VB5.0 参照設定で「既にロードされています」

    いつもお世話になっております。 VBで参照設定がうまくいかず困っております。 【環境】OS:Win98/VB:5.0(SP3) 【状況】一度外した参照設定を再び指定すると、以下のエラーメッセージが出て、登録ができない。 「指定されたライブラリ/プロジェクト、または互換ライブラリ/プロジェクトは既にロードされています。」 【詳細】 1.ショートカットを作成したかったので、Shelllnk.tlbを参照設定していた 2.Shelllnk.tlbの参照設定を外した 3.Shelllnk.tlbを新しく作り、再度参照設定しようとしたら、上記のメッセージが出た どこかに一度設定した情報が残っているのでしょうか? VBPファイルもテキストで開いて見たのですが、よくわかりませんでした。

専門家に質問してみよう