CADのVBA(6.0)ですが、DLLが見つからないエラーが出ます
' こっちはエラーが出ない
Public Declare Function SearchVBApath Lib _
"C:\Program Files\AppliTool\VB\DDDD.dll" (ByVal env As String, ByVal s As String) As Integer
'こっちだとエラーが出る
Public Declare Function SearchVBApath Lib "DDDD.dll" (ByVal env As String, ByVal s As String) As Integer
VBAプロジェクトファイルとDLLは同じフォルダにおいてあります
上記のようにフルパスだとエラーが出ないのですがDLL名だけだとこの関数のところでエラーがでます
このDLL関数宣言行の前の方には他のDLL関数も同じようにパス省略で記述しているのですがそちらにはエラーが出ません
どなたかヒント下さい、よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
AutoCAD でしょうか、それとも VBA が組み込まれた別の CAD 製品でしょうかね。
そっち方面には詳しくないのですが、例えば Excel VBA の場合もデーター ファイルと DLL を同じ場所に置いてファイル名だけ指定しても NG です。
Excel VBA で言う場合のカレント フォルダーはオプションで設定する "既定のファイルの場所" (Excel 2007 の場合) です。
MsgBox CurDir
でカレント フォルダーがどこなのか確認できます。
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr; …
temtemomai さん
piyo2000 さん
回答ありがとうございました、
申し訳ありません、やはりこれだと!いう解決ヒントにはなりませんでした
質問に書きましたが、宣言部には同じDLL内の他の関数も羅列しているのですが
この関数だけがエラーを出すのです
最初はフルパス書いていたのですがソースとDLLを同じ所に置けば
見つけるのを確認してパスを消していったらこんなことになってしまいました。
No.1
- 回答日時:
>VBAプロジェクトファイルとDLLは同じフォルダにおいてあります
デバッガ(IDE上)での話ですよね?
この場合、カレントはVB6.exeのインストールパスとなるので、見つからないのだと思います。(プロジェクトファイルは関係なかったはず)
試しに("DDDD.dll"で)コンパイルしてexeにし、exeとDLLを同じパスに置いて実行してみてください。動くと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Visual Basic(VBA) VBA リボンののリカバリーでオーバーフローエラーになります 2 2023/07/04 19:07
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
batファイルでレジストリキーの...
-
gccを行ってもexeファイルが生...
-
アクセスのクエリでコンパイル...
-
cube PDFについて
-
NAS上のファイルの使用中が解除...
-
fgets関数のEOFの扱い方について
-
OUTLOOK VBA 指定フォルダ内の...
-
Adobeのプレミアプロの書き出し...
-
Access2013にてドラッグ&ドロ...
-
ファイルクローズ(fclose)でエ...
-
freadでデータがない場合の読込...
-
EXCEL マクロについて教えてく...
-
FTPの送信結果を検知したい
-
「パス名が無効です」の発生原因
-
ADOのMoveNextでアプリケーショ...
-
VB実行時エラー75:「パス名が...
-
エクセル「これ以上新しいフォ...
-
VB.NETでUnzip32.DLLを使うには?
-
ファイルのオープンについて
-
VBでファイルが開かれているか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gccを行ってもexeファイルが生...
-
VBでファイルが開かれているか...
-
「パス名が無効です」の発生原因
-
batファイルでレジストリキーの...
-
Returnに対するGoSubがありません
-
VBから参照できないCのDLLを使...
-
PowerShellを使って関連付けら...
-
アクセスのクエリでコンパイル...
-
VB6 Dir関数で52エラー発生
-
FTPの送信結果を検知したい
-
NAS上のファイルの使用中が解除...
-
VBA ExecuteExcel4Macro 型が一...
-
access テキストボックスの値取得
-
EXCELのVBAでWORDが開いてある...
-
すでにファイルが開かれている...
-
EXCELVBAでONEDRIVE上への保管...
-
Excelファイルのマクロによる排...
-
OUTLOOK VBA 指定フォルダ内の...
-
エクセルマクロでエラーの原因...
-
Adobeのプレミアプロの書き出し...
おすすめ情報