準・究極の選択

ひとつのフォルダにエクセルブックを6個置います、日常のデータ入力をする、メインのブックに
他ブックをオープンするコードを、以下のように書いています。
Sub 他ブックオープン1()
Application.ScreenUpdating = False
ChDrive ThisWorkbook.Path
ChDir ThisWorkbook.Path

ブック名 = "○○.xls"
For Each myBook In Workbooks
If myBook.Name = ブック名 Then
Workbooks("○○.xls").Activate
Exit Sub
End If
Next
Workbooks.Open ("○○.xls")
Application.ScreenUpdating = True
End Sub

この、フォルダをサーバーに置いて、クライアントのパソコンから
上記コードを実行すると、実行時エラー
"プロシージャの呼び出し、または引数が不正ですとなり、うまく
行きません、デバッグ画面でChDrive,ChDir に示される、アドレスを
みると、正しく\\○○サーバー\...と表示されます、どうしてこの
アドレスを認識しているのに、エラーが出るのかわかりません
どなたか宜しくご教示願います。

A 回答 (1件)

ChDrive 関数の引数は、


空白("")の場合は現在のドライブが使用され、
一文字の場合は、該当の文字が使用され、
二文字以上の文字列の場合は、先頭の一文字のみが使用されます。

したがって、ネットワークドライブを使用する場合には、ドライブレターの割り当てが必要になると思われます。

以下は、MDSN の解説ページ(英語)です。

http://msdn2.microsoft.com/en-us/library/1e17ksw …

EXCEL 2002 の VBA のヘルプでも、同様の内容が記述されています。

参考URL:http://msdn2.microsoft.com/en-us/library/1e17ksw …

この回答への補足

pimientoさん、有難うございます。
以前に、ChDriveの引数を""として、現在のドライヴを指定して実行したところ、該当ドライブに、該当のパスは存在しないと、エラーメッセージが出ました。
ネットワークドライブを、もっと詳しく勉強する必要があるんでしょうが、、、気が重いです。
ご指摘の、ドライブレターについて調べてみます。

補足日時:2007/08/13 06:05
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報