- ベストアンサー
EXcelのマクロで相対パスでファイルを開く
Excelでマクロを使って他のブックを開こうとしています。 同じフォルダ内のブックを開くには Workbooks.Open Filename:=ThisWorkbook.Path & "\ブック名.xls" で開く事が出来たのですが、一つ上の階層にあるブックを開きたいときはどのようなコマンドを使えば良いのでしょうか?? お教え下さい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Workbooks.Open Filename:=ThisWorkbook.Path & "\..\ブック名.xls" フォルダ名「..」で親フォルダを参照できます。
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 ご質問の「相対パス」なら、#1さんが正解だと思いますし、Current Directory を移動させてしまえば、ファイル名の指定も、パスなしで指定できます。 ただ、私の場合は、だいたい、以下のようなコードを書くことが多いです。 '------------------------------------------- Dim fName As String Dim mPath As String mPath = ThisWorkbook.Path fName = "Test1.xls" i = Len(mPath) - Len(Replace(mPath, "\", "")) If i > 1 Then mPath = Mid(mPath, 1, InStrRev(mPath, "\") - 1) Workbooks.Open mPath & "\" & fName End If '-------------------------------------------
お礼
お返事遅くなりました。 #1(Trick--o--さん)の方法で行いました。 しっかり勉強してWendy02さんのようにマクロをかけるように頑張ります。
お礼
お返事遅くなりました。 教えていただいた方法で解決しました。 ありがとうございました。