Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1470 / 13644 ツリー ←次へ | 前へ→

【74240】ネットワーク上の共有フォルダの他のファイルを開く方法について やっぴ 13/5/7(火) 22:00 質問[未読]
【74242】Re:ネットワーク上の共有フォルダの他のフ... UO3 13/5/8(水) 6:25 発言[未読]

【74240】ネットワーク上の共有フォルダの他のファ...
質問  やっぴ  - 13/5/7(火) 22:00 -

引用なし
パスワード
   vba初心者です。
ローカルでは問題なく機能するマクロをネットワーク上で動かすと動かなくなりました。

以下に動かなかった部分のコードを記します。
vbaを利用してカレントディレクトリ配下にあるライセンスDBというファイルを開くものですが、相対パスで指定して
開いているので
なぜ動かなくなったかわからず困っています。

この事象の原因についてわかる方、お手数おかけしますが
ご教授願えませんでしょうか。

________________________

Private Sub CommandButton2_Click()
  ChDir ThisWorkbook.Path & "\DB"
  Workbooks.Open Filename:="ライセンスDB.xlsm", ReadOnly:=True
  Unload UserForm1
  UserForm2.Show
  ChDir ThisWorkbook.Path
  Workbooks("トップ.xlsm").Close SaveChanges:=False
End Sub

【74242】Re:ネットワーク上の共有フォルダの他の...
発言  UO3  - 13/5/8(水) 6:25 -

引用なし
パスワード
   ▼やっぴ さん:

おはようございます

「ごく普通に」
Workbooks.Open Filename:=ThisWorkbook.Path & "\DB\ライセンスDB.xlsm", ReadOnly:=True
として試してみてください。

h tp://www.excel-vba.net/excel-book-002.html

等にも説明がありますが


現在のカレントドライブが別のドライブの場合にChDirステートメントを実行してもカレントフォルダは変更されません。

カレントフォルダを変更する場合は必ずその前にChDriveステートメントでドライブを指定します。

いままで、たまたまカレントドライブがローカルだったのでうまくいっていたんだと思われます。
いずれにしても、わざわざ ChDrive と ChDir を記述してまで、Open からパス情報をカットするより
素直に、Open でフルパスを与えればよろしいと思いますが。

1470 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free