
先日の質問(*)の続きですが、自分で自分の質問に補足出来ないのと状況が変わったので別質問にしました。
(*)EXCEL2010から外部DLLをCall出来ない
状況
MS社のサイトより評価版のWindows7とoffice2010をダウンロードし新規HDDにインストールして環境を作成した。
新規作成環境のCドライブにtempフォルダを作る。
WindowsXPとExcel2003では問題なく動いていたExcel用の外部DLLがc:\tempでは動かなかった。
(ここまでは前回の質問)
調査結果
Windows7とExcel2003でも同じ状況、同じエラーを起こす。つまり、問題はexcel2010ではなく、Windows7でした。
「実行時エラー48 ファイルが見つかりませんC:\Temp\testDll.dll」というエラーメッセージですが、
C:\Temp\testDll.dll を物理的に削除してしまうとエラーメッセージは「実行時エラー53 ファイルが見つかりませんC:\Temp\testDll.dll」に変わります。つまり、testDll.dllの存在有無は分かっているが、「見つからない」と言っているようです。先の質問に頂いたアクセス権の問題のようです。
Windows7+Excel2003でtestDll.dllを見つけられないと言っている環境でIntelのfortranコンパイラテスト版をインストールしてみました。すると、エラーなく正常に動くのです。
つまり、フォルダとか、ファイルのアクセス権とは関係ないところで、コンパイラをインストールするだけで実行時エラー48は解消しました。
ここからが今回の質問
コンパイラをインストールするだけで変わる様なものは何でしょうか?
コンパイラを入れなくてもエラー48を出さない様にする為に調べるべき項目は何でしょうか?
No.1ベストアンサー
- 回答日時:
○コンパイラをインストールするだけで変わる様なものは何でしょうか?
⇒ testDll.dll 内部で別の dll 等をさらに参照している場合、その dll がコンパイラのインストールで環境に導入されて、それで動くようになることが考えられます。
○コンパイラを入れなくてもエラー48を出さない様にする為に調べるべき項目は何でしょうか?
⇒ testDll.dll 内部で参照されている dll を別途インストールすれば良いでしょう。通常、このようなモノは『ランタイム』として提供されているものです。コンパイラの提供元に確認して、ランタイムがないか確認してください。
ラインタイムライブラリーをdllに埋め込む方法が提供元に確認して分かりました。
提供元になんと言って質問すれば解決しそうなのかも分からない五里夢中の状態から、皆様の適切な助言で質問して解決する所までたどり着きました。
本当にありがとうございました。
ちなみに色々とテストして分かった事はデフォルトのオプションでDLLを作成するとランタイムライブラリ全く埋め込まないものが作成され、オプションを変更すれば、適切なライブラリを埋め込んだものが作成されると言うことでした。
ライブラリが埋め込まれていないものはWindowsバージョンによらず駄目でした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Excel(エクセル) Excelを開くとエラーが出る 2 2022/10/03 16:13
- フリーソフト cygewf-2.dllがない、と表示され、ダウンロードしたファイルが動作しない 2 2023/03/27 11:05
- Windows 10 前回の質問の続きです。 あの後、システムのエラーが疑われたのでインターネットで調べて、ドライブのチェ 1 2023/05/21 23:55
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
- Windows 7 Windows7でMicrosoft VirtualPC2007 SP1を使用する 9 2022/11/17 13:12
- Windows 10 どうしたらパソコンに詳しくなれる?? 5 2022/04/04 19:09
- ドライブ・ストレージ デスクトップパソコンOSについて デスクトップパソコンスペック、Inteli54460 HD4600 3 2023/04/17 01:57
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
unsigned long long 型のフォー...
-
WIZ-Cの使い方について
-
EXEファイルにランタイムは必要?
-
ソフトの開発言語を調べる方法
-
コンパイラツールのについて
-
フォートランの初歩でつまって...
-
H8/3664でのEEPROMの使用について
-
Win32のIME制御について
-
CRCの計算でエラー
-
PICマイコンのプログラムカウン...
-
VC++の/Zm オプションについて
-
Borlandでプログラミングを整え...
-
どのコンパイラが私に適してい...
-
組み込みソフト。ROM領域にデータ
-
ボーランドとMSのVisual C++...
-
パーサとコンパイラの違いって?
-
PICでのI2C通信でのマスタ、ス...
-
FORTRANのおすすめコンパイラ
-
サイクルカウントの方法
-
Visual Studio でmakefileを使...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ソフトの開発言語を調べる方法
-
unsigned long long 型のフォー...
-
C++でデスクトップGUIアプリ開...
-
COBOLの論理演算子について質問...
-
組み込みソフト。ROM領域にデータ
-
printfなど、標準関数のソース...
-
cc と gcc の違い
-
リリースモードとデバッグモー...
-
パーサとコンパイラの違いって?
-
AIXとCOBOLについて
-
<conio.h>?
-
COBOLのALPHABET...
-
VC++の/Zm オプションについて
-
C++Builder → Visual C++ 移植...
-
C言語の規格
-
COBOLの論理演算子について
-
変数の内容がコロコロ変わる、...
-
Macで使えるC言語のコンパイラ...
-
PICでのI2C通信でのマスタ、ス...
-
最初に使う変数のゼロクリアに...
おすすめ情報