
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)
-
IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ
その他(プログラミング・Web制作)
-
-
4
実行時エラー48発生時のDLL特定方法。
Visual Basic(VBA)
-
5
VB6.0(SP6)にて開発を行なっています。参照設定に関して教えてく
IT・エンジニアリング
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
オブジェクト(dll)のレジストリ登録について
Visual Basic(VBA)
-
8
実行時エラー429
Visual Basic(VBA)
-
9
DLLをREGSVR32しないで利用する方法について。
Visual Basic(VBA)
-
10
エクセル VBA dll 読み込み時のエラーです
Excel(エクセル)
-
11
VBAでDLLが見つからないエラー
Visual Basic(VBA)
-
12
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
13
プロシージャ名の取得
Visual Basic(VBA)
-
14
DLLやOCXなどの格納先は必ず「C:\\WINDOWS\\system32」?
Windows Vista・XP
-
15
VB.NETで、DLLを頂いたんですが・・
Visual Basic(VBA)
-
16
コモンダイアログコントロールがコンポーネントにありません
Visual Basic(VBA)
-
17
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
18
コンパイルエラー:ユーザ定義型は定義されていません、と出るのですがどのライブラリファイルかわかりません。
Visual Basic(VBA)
-
19
VB6でユーザー定義型がNothingかどうか調べるには?
Visual Basic(VBA)
-
20
VB.NETで参照設定したDLLの修正反映
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAで既に開いてるwordを...
-
フロッピー上のファイルクロー...
-
access テキストボックスの値取得
-
batファイルでレジストリキーの...
-
NAS上のファイルの使用中が解除...
-
VB6 Dir関数で52エラー発生
-
ASP.NETでWebConfigのエラー
-
至急
-
VBAでDLLが見つからないエラー
-
VBでファイルが開かれているか...
-
freadでデータがない場合の読込...
-
kernel32.dllファイルがコピー...
-
EXCEL マクロについて教えてく...
-
VBから参照できないCのDLLを使...
-
VB実行時エラー75:「パス名が...
-
ネットワーク上でのファイル操...
-
「パス名が無効です」の発生原因
-
パワーポイントで『訂正できな...
-
システムのシャットダウンは既...
-
アクセスのクエリでコンパイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
access テキストボックスの値取得
-
Returnに対するGoSubがありません
-
「パス名が無効です」の発生原因
-
PowerShellを使って関連付けら...
-
NAS上のファイルの使用中が解除...
-
アクセスのクエリでコンパイル...
-
VBでファイルが開かれているか...
-
ExcelVBAで既に開いてるwordを...
-
エクセルマクロでエラーの原因...
-
batファイルでレジストリキーの...
-
【COBOL】read文でエラー
-
VB6 Dir関数で52エラー発生
-
「アクティブ ユーザーが多すぎ...
-
データベースソフトのアクセス2...
-
VBから参照できないCのDLLを使...
-
DisplayAlertsブロパティで ”実...
-
Access2013にてドラッグ&ドロ...
-
ACCESS VBAでのインポート
-
すでにファイルが開かれている...
-
Vba ファイル書き込み時に書き...
おすすめ情報