[過去ログ] VBAなんでも質問スレ Part2 [転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
165(3): 2016/04/09(土)01:33 ID:8VJ1WNjN(1/5) AAS
Declare 文でDllを指定するとき、絶対パスを指定するのとしないので挙動が変わるなんてことありますかね?
パスの通ったフォルダにDllを置きDeclare文にはパスを書かない、という状態で何度テストしても失敗する(結果がおかしい)ので、
もしやと思って絶対パスを指定してみたら成功しました。何度やっても同じです。
念のため他のフォルダに同名のDllがないか確認しましたが、そんなものはありませんでした。
Window7、Excel2010(64bit)です。
172(1): 2016/04/09(土)15:25 ID:8VJ1WNjN(2/5) AAS
>>167-170
DLLはこんな感じで
Declare PtrSafe Function funcABC Lib "ABC.dll" (ByVal n As Long, ByRef v As Variant) As Long
本来1が返ってくるべきところに0が返ってくるんです。
だけど、〜 Lib "C:\tmp\ABC.dll" 〜 とすると、ちゃんと1が返ってくる。
どちらの場合もDLL名を変えると「ファイルが見つかりません」という実行時エラーになるので、同じDLLファイルを
指しいてるのは間違いないと思います。
177(1): 2016/04/09(土)18:32 ID:8VJ1WNjN(3/5) AAS
>>175
パスが通っている全フォルダとカレントフォルダからの目視です。
環境変数(PATH)をまず確認して、
kernel32.dllにあるAPI 「GetEnvironmentVariableA」 に引数"PATH"を渡して出てきたフォルダを対象にしました。
問題のfuncABC も GetEnvironmentVariableA も同じVBAから発行しています。
179(2): 2016/04/09(土)18:46 ID:8VJ1WNjN(4/5) AAS
>>178
C:\windowsやC:\Program Files、C:\Program Files (x86)は入ってますよ。
目視も検索フィルタにとりあえず *.dll で全DLLを出してからやっています。
>>176
マジですか...
187(5): 2016/04/09(土)23:15 ID:8VJ1WNjN(5/5) AAS
>>180
ODBCのコネクションを張る関数で、特に自分の場所が関係する処理はしてないですね。
>>181-186
全ドライブを検索した結果(search everythingは入れてませんが dir/s はやってみた)
C:\Users\*****\Google ドライブ\
に見つかりました。
しかし、これを消しても現象は変わらなかった(もともと参照パスに入ってない)ので、諦めの気分です。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.052s