• 締切済み

EXCEL VBA 親ディレクトリの参照方法

教えてください。 下記のフォルダとファイルがあります。 C:\........\main\DIR\excel1.xls c:\........\main\dir2\excel2.CSV \mainの下にDIR,DIR2がありますが、常に\mainの場所は不定です。 DIRの下にあるEXCEL1.xlsにあるブックにマクロ記述をして、 EXCEL2.CSVを書き出すマクロを書きたいのですが・・・ ActiveWorkbook.pathにてディレクトリは参照できるのですが、 簡単にこの親のディレクトリを参照できる方法はないでしょうか?

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

(1)Application.Path (2)CurDir (3)ActiveWorkBook。Path 保存前 空白            保存後読み出したもの 保存フォルダ (4)何かファイルを書き出そうとしているが、そのファイルの収納場所 のうち(4)ですね。 絶対的に、文字列でコードの中で指定し、それと(2)(3)は関連付けて考えなくて良いのでね。   (A)文字列から   (B)今あるところから  の(A)らしいが。 それならInStrRev関数(使えないバージョンではInStr関数を使って やや複雑)で解決すると思いますがそれでよいのでしょうか。(#1のご回答)文字列の切り出しの問題。 またVBScript式(FSO)では objFS.GetParentFolderName (#2のご回答) で直下(子)から、直上(親)を順次辿れます。 文字列の切り出しでもあり、フォルダーファイル実態の親名。

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

FileSystemObject の GetParentFolderName が使えますよ。   With CreateObject("Scripting.FileSystemObject")     sPath = .GetParentFolderName(ThisWorkbook.Path)   End With   sPath = sPath & "\dir2\excel2.CSV"   MsgBox sPath

回答No.1

簡単に参照するコマンドはわかりませんが、  myPath = ActiveWorkbook.Path  親 = Left(myPath, InStrRev(myPath, "\") - 1) などでも……

関連するQ&A