- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel・VBA Openメソッド実行時にファイル名を取得出来ません。)
エクセルVBAでネットワーク上のファイルを開けないエラーの解決方法は?
このQ&Aのポイント
- Excel・VBAのOpenメソッドを使用してネットワーク上のExcelブックを開こうとする際に、実行時エラーが発生しファイルを開くことができません。具体的には、パス名とファイル名が見つからないというエラーメッセージが表示されます。ファイル名および保存場所が正しいか確認し、移動や削除がないか確認してください。
- また、共有フォルダにパスワードが設定されている場合には、パスワードを設定せずに参照することでファイルを開くことができます。しかし、Openメソッド実行時や実行前に共有フォルダのパスワードを設定する方法はありません。ExcelブックのパスワードはOpenメソッドのオプションに存在するかもしれませんが、共有フォルダに関しては見つけることができませんでした。
- OSがWin98や95でExcelがバージョン97、ネットワークがTCP/IPを使用している場合にこのエラーが発生する可能性があります。このエラーの原因は、ファイル名や保存場所の設定が正しくないことや、共有フォルダへのアクセス権限がないことが考えられます。解決策としては、ファイル名と保存場所を再確認し、共有フォルダへのアクセス権限を取得する必要があります。具体的な方法については、詳細な情報が必要となりますので、サポートや専門家に相談してください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#102878
回答No.1
パスワードを要求されないようにするのが一番ですね。 「クライアント同士の共有は行なわない」 「共有フォルダはドメインのユーザー認証で保護されているサーバ上に置く」 と言うのはあくまで理想。 下記の方法は試してませんので自信はありません。 一応アイデアだけってことで(^_^;; -------------------------------------- Sub Test() Dim varRet As Variant varRet = Shell("net use /delete z:") varRet = Shell("net use z: \\killer-queen\mp3 hogehoge /user:temtecomai") varRet = Shell("net use /delete z:") If Application.Wait(Now + TimeValue("0:00:03")) Then Workbooks.Open ・・・・・・ End If End Sub -------------------------------------- DOSのNETコマンドで共有フォルダにアクセスした「実績」を作っておくというものです。 その際にユーザー名とパスワードも忘れずに、と。 ただし私のマシンがWin2000なのでNETコマンドの引数が違う可能性があります。 これはお使いのWin95/98のDOS窓で「net use /?」として構文を確かめてください。
お礼
こんばんは。 ご回答ありがとうございます。 お礼が遅くなって申し訳ありませんでした。 自分はMS-DOSの事を良く知らないので 一度「net use・・・」について良く勉強して から試してみます。
補足
こんばんは。 確かに引数の部分が若干異なりましたが 無事にアクセスした「実績」を作れました。 ただIf Application.Wait(Now)~の部分で どうしても解決出来ないエラーが発生して てこずってしまいました。 if文の使用をやめて直接 Application.Wait (Now + TimeValue("0:00:03")) Workbooks.Open ・・・・・・ としたら、うまく実行出来ました。 教えて頂いて助かりました。 また、お礼や報告が遅くなり大変失礼致しました。 今後も宜しくお願い致します。