Excel VBA質問箱 IV

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

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


4871 / 13646 ツリー ←次へ | 前へ→

【53925】親フォルダの親フォルダのPATHが知りたい 坊主頭のプログラマ 08/2/15(金) 20:45 質問[未読]
【53926】Re:親フォルダの親フォルダのPATHが知りたい ichinose 08/2/15(金) 21:33 発言[未読]
【53927】Re:親フォルダの親フォルダのPATHが知りたい マクロマン 08/2/15(金) 21:34 発言[未読]
【53928】Re:親フォルダの親フォルダのPATHが知りたい mano 08/2/15(金) 22:06 回答[未読]

【53925】親フォルダの親フォルダのPATHが知りたい
質問  坊主頭のプログラマ  - 08/2/15(金) 20:45 -

引用なし
パスワード
   親フォルダのPATHはThisWorkbook.PATHで取得できますが、親の親フォルダは取得できますか?"\"を検索して、取得するしか方法は無いのでしょうか?教えて下さい。

【53926】Re:親フォルダの親フォルダのPATHが知り...
発言  ichinose  - 08/2/15(金) 21:33 -

引用なし
パスワード
   ▼坊主頭のプログラマ さん:
こんばんは。

>親フォルダのPATHはThisWorkbook.PATHで取得できますが、親の親フォルダは取得できますか?"\"を検索して、取得するしか方法は無いのでしょうか?教えて下さい。
FSOというオブジェクトを使うと可能ですね!!

Sub main()
  Dim fso As Object
  Dim pp As Variant
  Set fso = CreateObject("scripting.filesystemobject")
  pp = ThisWorkbook.Path
  Do Until fso.GetParentFolderName(pp) = ""
    pp = fso.GetParentFolderName(pp)
    MsgBox pp
    Loop
  Set fso = Nothing
End Sub

又は、Split関数を使えば、

Sub main2()
  Dim g0 As Long
  Dim pp As Variant
  pp = Split(ThisWorkbook.Path, "\")
  For g0 = UBound(pp) - 1 To LBound(pp) Step -1
    MsgBox pp(g0)
    Next
  Erase pp
End Sub

【53927】Re:親フォルダの親フォルダのPATHが知り...
発言  マクロマン  - 08/2/15(金) 21:34 -

引用なし
パスワード
   参考になると思います。

http://www.officetanaka.net/excel/vba/filesystemobject/folder.htm

【53928】Re:親フォルダの親フォルダのPATHが知り...
回答  mano  - 08/2/15(金) 22:06 -

引用なし
パスワード
   >親フォルダのPATHはThisWorkbook.PATHで取得できますが、親の親フォルダは取得できますか?

簡単なのは親フォルダ".."を用いる方法ではないでしょうか。
使用方法の1例
chdir(ThisWorkbook.PATH & "\..")

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