
No.5ベストアンサー
- 回答日時:
>あります。
>とりあえず、DLLファイルと同様に C:\WINNT\System32 フォルダへ格納しました。
となるとやはりVBから直に呼び出すことはできません。
DLLでもスタティックリンクで使うものがあり
VC++からは呼び出すことができます。
そこでVBから呼び出すには間にクッションをおく必要があります。
VB←VC++で作ったDLLを呼び出すDLL(クッション)←元のDLL
.hや.libはVC++でスタティックリンクする際に必要となる
ファイルでVBからは使用できません。
No.3
- 回答日時:
ちょっと古い情報ですが、URL載せておきます。
「VBから呼出可能なようにDLLを作る」ということがなされているかどうかを確認してください。
Declareを使っても呼び出せないものもあります。
間に何かかませるとしたら、ActiveXのラッパーなどをかませればVBから呼び出せるようになりますが、これはC/C++でつくる必要がありますからねぇ。手間はあまり変わらないでしょう。
また、DLLが他のDLLを参照している場合、実行時エラー53がでることもあるのでそちらの線も洗ってみてください。
参考URL:http://homepage2.nifty.com/DSS/VCPP/DLL/dllvbcal …
No.2
- 回答日時:
> 実行時エラー'53':
> ファイルが見つかりません:hoge.dll
パスが通ってないだけでしょう。
hoge.dllを下記のどこかに移動してみては?
(1) %SystemRoot%
(2) %SystemRoot%\System32
(3) %SystemRoot%\System
(4) %Path% のどこか
(5) App.Path
この回答への補足
何度もありがとうございます。最後までお付き合いください。m(_ _)m
> パスが通ってないだけでしょう。
> hoge.dllを下記のどこかに移動してみては?
こちらで試したことを書くべきでした。
そう思いまして、C:\WINNT\System32 においてみましたが、同じなのです。
フルパス指定でも同じでした。
DLLはDeclareすれば、必ず使えるものなのでしょうか?
No.1
- 回答日時:
(1) そのDLLがCOM(ActiveX)コンポーネントなら、
RegSvr32 "DriveName:\....Path....\FileName"
を実行してみる。
(2) COMでないなら、Declare 宣言する。
この回答への補足
> (1) そのDLLがCOM(ActiveX)コンポーネントなら、
RegSvr32 "DriveName:\....Path....\FileName"
を実行してみる。
COMコンポーネントではありません。
試しにやってみましたが、以下のエラーになりました。
LoadLibrary("C:\WINNT\System32\hoge.dll")failed - 指定されたモジュールが見つかりません。
> (2) COMでないなら、Declare 宣言する。
これもやってみたのですが、エラーになるのです。
実行時エラー'53':
ファイルが見つかりません:hoge.dll
DLLはDeclareすれば、必ず使えるものなのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
regsvr32で登録された一覧を知りたい
UNIX・Linux
-
DLLを作成してVBAから使用する方法は?
Visual Basic(VBA)
-
VB6.0(SP6)にて開発を行なっています。参照設定に関して教えてく
IT・エンジニアリング
-
-
4
IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ
その他(プログラミング・Web制作)
-
5
DLLをREGSVR32しないで利用する方法について。
Visual Basic(VBA)
-
6
オブジェクト(dll)のレジストリ登録について
Visual Basic(VBA)
-
7
VBAでDLLが見つからないエラー
Visual Basic(VBA)
-
8
実行時エラー48発生時のDLL特定方法。
Visual Basic(VBA)
-
9
regsvr32.exe による DLLの登録について
UNIX・Linux
-
10
Excel2010VBAでエラーが出る相対パス指定
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
access テキストボックスの値取得
-
「パス名が無効です」の発生原因
-
【COBOL】read文でエラー
-
VBから参照できないCのDLLを使...
-
エクセルで質問です。 ハイパー...
-
CSVファイルが開かれているかど...
-
アクセスのクエリでコンパイル...
-
RAR圧縮ファイル(分割)の順番が...
-
VISIOは上位互換のはずなのにフ...
-
NAS上のファイルの使用中が解除...
-
Access2010 コンパイルエラー...
-
ADOXでmdbファイルにオートナン...
-
Access2013にてドラッグ&ドロ...
-
ファイルクローズ(fclose)でエ...
-
FORTRANの実行エラーについて
-
すでにファイルが開かれている...
-
freadでデータがない場合の読込...
-
アクセスでイベントのロジック...
-
VB実行時エラー75:「パス名が...
-
C++Builder Ver6.0でエラーが発生
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで質問です。 ハイパー...
-
Excel 2003 のエラーメッセージ
-
「パス名が無効です」の発生原因
-
PowerShellを使って関連付けら...
-
access テキストボックスの値取得
-
【COBOL】read文でエラー
-
アクセスのクエリでコンパイル...
-
Returnに対するGoSubがありません
-
batファイルでレジストリキーの...
-
VBから参照できないCのDLLを使...
-
NAS上のファイルの使用中が解除...
-
データベースソフトのアクセス2...
-
VB6 Dir関数で52エラー発生
-
【関数】同じ関数なのに、エラ...
-
gccを行ってもexeファイルが生...
-
FORTRANの実行エラーについて
-
FTPの送信結果を検知したい
-
fgets関数のEOFの扱い方について
-
ASP.NET 2.0にてアプリが動作し...
-
VBでファイルが開かれているか...
おすすめ情報