• 締切済み

VBAの保存先違いと起動について

VBAで下記の2カ所でどちらでも開きたいのですが その場合の記述方法を教えて下さい。 下記の「xxxxxxxxxxx」が2カ所の保存先をどらでも(or)にしたいのです。 Workbooks.Open Filename:= _ "xxxxxxxxxxx" Worksheets("Sheet1").Activate 2カ所の保存先 (1) "P:\選択項目.xlsx" (2) "\\A-ad1\選択項目.xlsx" 以上、よろしくお願いします。

みんなの回答

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

こちらにもレスを付けておきます。 とりあえず、ハッキリしていただきたいのは 「どう言う条件で保存場所2か所をどのように使い分けるのか?」 なのです。 前回の質問で「名前の定義・プルダウン」と言うキーワードがありましたが、 保存場所の使い分けを「入力規則でリストから選択させて」開きたい、という事ですか? だとしたら、このセルがA1セルだとしたら   Workbooks.Open Filename:=Range("A1").Value & "aaaa.xlsx" で対応できます。 しかし、Private Sub Workbook_Open() で定義してあるコードですから、 このプルダウンリストを切り替えるタイミングも無さそうに思います。 それともう一つ。 \\A-ad1\ をネットワークドライブに割り当てて、文字を当てたのがPドライブですか? だとしたら、いつでも \\A-ad1\ を見に行くように作った方が効率は良いです。

Hiro_World
質問者

お礼

説明の仕方が下手ですみませんでした。 ありがとうございました。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

どちらでもって言うのが良くわかりませんが。 ・Pドライブにあればそれを開く ・Pドライブになくネットワーク上にあればそれを開く ・どっちにもなかったら・・・・? と言う事なら。 If Dir("P:\選択項目.xlsx", vbNormal) <> "" Then Workbooks.Open Filename:= _ "P:\選択項目.xlsx" ElseIf Dir("\\A-ad1\選択項目.xlsx", vbNormal) <> "" Then Workbooks.Open Filename:= _ "\\A-ad1\選択項目.xlsx" Else 'どっちにもなかった場合の処理 Exit Sub '中断しちゃう? End If Worksheets("Sheet1").Activate こんな感じですかね?

Hiro_World
質問者

お礼

説明が不明確で誠に申し訳ありませんでした。

関連するQ&A