下記のごときマクロをEXCELマクロに記入し、動かすとExcel2003では問題なく動くのですが、
Windows7+Excel2010の評価版を新規インストールした環境では「Call testDll」の文のところで
「実行時エラー48 ファイルが見つかりませんC:\Temp\testDll.dll」と出てしまうのです。
しかし、C:\Temp\testDll.dllは置いてあるのです。
Declare文の仕様が変わっているのでしょうか?
どこに問題があるのでしょうか?
一応、マクロのセキュリティでc:\temp\は信頼できる場所にはして見たのですが変わりませんでした。
Declare Sub testDll Lib "C:\Temp\testDll.dll" ()
Sub Macro1()
'
Cells.Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ChDir "C:\temp"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="C:\temp\testDATA.csv", FileFormat:=xlCSV, _
CreateBackup:=False
ActiveWindow.Close
Range("A1").Select
Application.DisplayAlerts = True
Call testDll
'計算結果の読込み
sdname = "C:\temp\testMES.csv"
myfile = Dir(sdname) 'ファイルが存在しなければ空白
If myfile = "" Then '存在しない場合は
MsgBox ("エラー発生") 'メッセージを表示
Else
Workbooks.Open Filename:=sdname '存在する場合は開ける
MsgBox ("正常終了") 'メッセージを表示
End If
End Sub
No.1ベストアンサー
- 回答日時:
ファイルがあるのに「見つかりません」って言われるのは、フォルダ、およびファイルのアクセス権がない場合があると思いますが、C:\Temp、およびtest.dllのアクセス権は問題ないでしょうか?
(エクスプローラから右クリック→プロパティで、それらしいタブがあると思います。)
この回答への補足
追記情報です。
1、 windows7+excel2003 の組合せで同じマクロを実行してみると、同じエラーを起こしました。
Windows7の問題の様です。
当然、Windows7でc:\tempのホルダーへのアクセス権は付けました。
2、見つからないといわれるtestDll.dllをc:\WINDOWS\system c:\WINDOWS\system32 の両方にコピーし、declale文を次の様に絶対パスをはずしましたが、エラーメッセージは変わらずでした。
Declare Sub testDll Lib "testDll.dll" ()
回答ありがとうございます。
しかし、C:\Temp、およびtestdll.dllのアクセス権をプロパティで調べてみましたが、共にfullコントロールがついており、問題ではありませんでした。
(お礼が遅くなり申し訳ありませんでした)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「パス名が無効です」の発生原因
-
OUTLOOK VBA 指定フォルダ内の...
-
「アクティブ ユーザーが多すぎ...
-
CSVファイルが開かれているかど...
-
Returnに対するGoSubがありません
-
batファイルでレジストリキーの...
-
EXCELVBAでONEDRIVE上への保管...
-
ExcelVBAで既に開いてるwordを...
-
C++Builderについて
-
VB6 Dir関数で52エラー発生
-
RAR圧縮ファイル(分割)の順番が...
-
システムのシャットダウンは既...
-
この文書を開くときにエラーが...
-
エクセル VBA dll 読み込...
-
FTPの送信結果を検知したい
-
4.0マクロを Excel2003で実行?
-
メニューのショートカットキー
-
VB スクリプトで
-
VBから参照できないCのDLLを使...
-
Adobeのプレミアプロの書き出し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba ファイル書き込み時に書き...
-
「パス名が無効です」の発生原因
-
Returnに対するGoSubがありません
-
PowerShellを使って関連付けら...
-
エクセル VBA dll 読み込...
-
batファイルでレジストリキーの...
-
gccを行ってもexeファイルが生...
-
アクセスのクエリでコンパイル...
-
VBから参照できないCのDLLを使...
-
access テキストボックスの値取得
-
VBでファイルが開かれているか...
-
EXCELのVBAでWORDが開いてある...
-
NAS上のファイルの使用中が解除...
-
VB6 Dir関数で52エラー発生
-
VBA ExecuteExcel4Macro 型が一...
-
エクセルマクロでエラーの原因...
-
fgets関数のEOFの扱い方について
-
【COBOL】read文でエラー
-
FTPの送信結果を検知したい
-
FORTRANの実行エラーについて
おすすめ情報