Excel VBA質問箱 IV

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

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


4117 / 13644 ツリー ←次へ | 前へ→

【58334】ファイルの保存されているフォルダ名を取得 col 08/10/20(月) 14:38 質問[未読]
【58335】Re:ファイルの保存されているフォルダ名を... マクロマン 08/10/20(月) 14:47 発言[未読]
【58336】Re:ファイルの保存されているフォルダ名を... col 08/10/20(月) 15:27 発言[未読]
【58342】Re:ファイルの保存されているフォルダ名を... マクロマン 08/10/20(月) 17:48 発言[未読]
【58357】Re:ファイルの保存されているフォルダ名を... マクロマン 08/10/21(火) 8:57 発言[未読]

【58334】ファイルの保存されているフォルダ名を取...
質問  col  - 08/10/20(月) 14:38 -

引用なし
パスワード
   ユーザーフォームに
ファイル読み込み用のボタンを作成し
  OpenFileName1 = Application.GetOpenFilename()
    Workbooks.OpenText Filename:=OpenFileName1, TrailingMinusNumbers:=True
    Readfile1 = ActiveWorkbook.Name
    Cells(Cells(65535, 1).End(xlUp).row + 1, 1) = Readfile1

を記載し

Aの列に読みこんだファイル名を記入し
B列に読み込んだファイの保存されているフォルダ名を記載したいのですが
このフォルダ名の表記はどのようにしたらよろしいのでしょうか

【58335】Re:ファイルの保存されているフォルダ名...
発言  マクロマン  - 08/10/20(月) 14:47 -

引用なし
パスワード
   MsgBox OpenFileName1
でフルパスが取れるのでそれから切り出してもいいですし、
ブックがアクティブになった後なら、
MsgBox ActiveWorkbook.Path
でも取れます。
ほかには、FileSystemObjectを使い、
GetParentFolder
で取得することも出来ます。

【58336】Re:ファイルの保存されているフォルダ名...
発言  col  - 08/10/20(月) 15:27 -

引用なし
パスワード
   マクロマン様
MsgBox ActiveWorkbook.Path
でフルパスが取得できるのは存じております
今回行いたいのはフルパスではなく
ファイルの置いてあるフォルダの名前だけが知りたく
それより上の階層を取得しない方式にしたいと思っております

【58342】Re:ファイルの保存されているフォルダ名...
発言  マクロマン  - 08/10/20(月) 17:48 -

引用なし
パスワード
   方法は提示したつもりです。

【58357】Re:ファイルの保存されているフォルダ名...
発言  マクロマン  - 08/10/21(火) 8:57 -

引用なし
パスワード
   質問の意図を読み違えてました。

FileSystemObjectを使ってファイルのフルパスからフォルダパスなどを
取得する方法です。

Dim FSO As Object
Dim mypath As String
Dim folpath As String
Dim folmei As String
Dim fmei As String
Dim fbasename As String
Dim kaku As String
 Set FSO = CreateObject("Scripting.FileSystemObject")
 mypath = "D:\hoge\test\aa.pdf" 'ファイルのフルパス
 folpath = FSO.getparentfoldername(mypath) 'フォルダのパス
 folmei = FSO.getfolder(folpath).Name 'フォルダ名
 fmei = FSO.getfile(mypath).Name 'ファイル名
 fbasename = FSO.getbasename(mypath) 'ファイル名から拡張子を除いた部分
 kaku = FSO.GetExtensionName(mypath) '拡張子
 MsgBox "ファイルのフルパス:" & mypath & vbCrLf & "フォルダパス:" & folpath & _
  vbCrLf & "フォルダ名:" & folmei & vbCrLf & "ファイル名:" & fmei & vbCrLf & _
  "拡張子を除いたファイル名:" & fbasename & vbCrLf & "拡張子:" & kaku
 Set FSO = Nothing

なお、フォルダのフルパスからフォルダ名を取得するのは、
InstrRev関数とRight、Lenなどを組み合わせてもできます。ファイル名を取得するのも
同じです。

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