こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel・VBA Openメソッド実行時にファイル名を取得出来ません。

いつもお世話になっております。
ネットワークコンピュータ上(共有フォルダにパスワードを設定済み)の
Excelブックに対してWorkbooks.Open パス名 & ファイル名を実行すると
下記の実行時エラーが出てしまい開く事が出来ません。
パスワード無しの参照のみ共有にすれば開く事が出来るのですが
Openメソッド実行時、または実行前に共有フォルダのパスワードをセットする
方法は無いでしょうか?自分が知る限りではExcelブックのパスワードの設定
はOpenメソッドのオプションに有るようなのですが共有フォルダに関しては
見つける事が出来ませんでした。
OS:Win98,95 Excel:97 ネットワークはTCP/IPを使用しています。
ご存知の方、どうか宜しくお願いします。

エラー内容
 実行時エラー'1004':
 'パス名\ファイル名.xls'が見つかりません。ファイル名および
 ファイルの保存場所が正しいかどうか確認して下さい。
 [ファイル]メニューの最近使用したファイルの一覧からファイルを開こうとしている場合は、
 そのファイルの名前が変更されていないこと、移動または削除されていないことを
 確認して下さい。

投稿日時 - 2002-06-24 22:22:24

QNo.299354

困ってます

質問者が選んだベストアンサー

パスワードを要求されないようにするのが一番ですね。
「クライアント同士の共有は行なわない」
「共有フォルダはドメインのユーザー認証で保護されているサーバ上に置く」

と言うのはあくまで理想。
下記の方法は試してませんので自信はありません。
一応アイデアだけってことで(^_^;;

--------------------------------------
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 /?」として構文を確かめてください。

投稿日時 - 2002-06-26 01:06:27

補足

こんばんは。
確かに引数の部分が若干異なりましたが
無事にアクセスした「実績」を作れました。
ただIf Application.Wait(Now)~の部分で
どうしても解決出来ないエラーが発生して
てこずってしまいました。
if文の使用をやめて直接
Application.Wait (Now + TimeValue("0:00:03"))
Workbooks.Open ・・・・・・
としたら、うまく実行出来ました。
教えて頂いて助かりました。
また、お礼や報告が遅くなり大変失礼致しました。
今後も宜しくお願い致します。

投稿日時 - 2002-07-05 23:30:15

お礼

こんばんは。
ご回答ありがとうございます。
お礼が遅くなって申し訳ありませんでした。
自分はMS-DOSの事を良く知らないので
一度「net use・・・」について良く勉強して
から試してみます。

投稿日時 - 2002-06-27 21:23:13

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問