|
yo460 さん、おはようございます。
>Unixやdosでは、dir .とかdir ..のようなドットで表現するコマンドがあったとおもいますがExcelのコードではどのように表現するのでしょうか?
>具体的な例をお示し願えればありがたいです。
".."はそのまま使えます。
Sub test()
Dim s(1 To 2) As String
s(1) = CurDir 'カレント
MsgBox s(1), vbInformation, "START"
'
Do
ChDir ".." 'CD ..と 同じ
s(2) = CurDir 'カレント
If s(1) = s(2) Then Exit Do
MsgBox s(1) & " → " & s(2), vbInformation
s(1) = s(2)
Loop
'
MsgBox s(1), vbInformation, "END"
Erase s
End Sub
実行結果はこんな感じ。
C:\Documents and Settings\●●●\My Documents → C:\Documents and Settings\●●●
C:\Documents and Settings\●●● → C:\Documents and Settings
C:\Documents and Settings → C:\
なので、マクロを書いたブックの入ったフォルダの、ひとつ上のフォルダに入ったTEST.XLSを開く場合は、
Sub test()
Dim Ifile As String
'
Ifile = ThisWorkbook.Path 'ブックのパス(一度も保存していないブックだとエラー)
If Right(Ifile, 1) <> "\" Then Ifile = Ifile & "\" '念のため確認
Ifile = Ifile & "..\TEST.XLS" 'ひとつ上のフォルダのファイル
'
'開く前に有無チェック
If Dir(Ifile) <> "" Then
Application.Workbooks.Open Ifile
Else
MsgBox Ifile, vbExclamation, "ファイル名確認"
End If
End Sub
|
|