質問
【Excel VBA】ファイルのフルパスからフォルダ名のみ取り出したい
- 投稿日時:2009/06/13 04:30

Dim testfile As String
testfile = C:\test\aaa.xls
とします。
この時、testfileのディレクトリ名だけを取り出したいのですが、
どのようにすればよろしいでしょうか?
結果としては、
testdir = C:\test\
のような感じです。
一発でディレクトリ名を返してくれる関数はありますか?
それとも、フルパスの右側から1文字ずつ検索して"\"を~しか方法がないのでしょうか?
よろしくお願いします。
回答 (2件)
- 最新から表示
- 回答順に表示
- ベストアンサーのみ表示
No.2ベストアンサー20pt
- 回答日時:2009/06/13 07:33
>testfileのディレクトリ名だけを取り出したい
どのようにして「testfile」を設定しているかによって、ヤリカタも変わってくるかと存じます。
>フルパスの右側から1文字ずつ検索して"\"を
testdir = Left(testfile, InStrRev(testfile, "\"))
>一発でディレクトリ名を返してくれる関数
もともとの「testfile」という「String」が
Set testbook = ThisWorkbook
testfile = testbook.FullName
というようなことで設定されているのでしたら、
testdir = testbook.Path & "\"
また、実在のファイルでしたら、
testdir = Replace(testfile, Dir(testfile), "")
ちなみに
testfile = C:\test\aaa.xls
ではなくて、
testfile = "C:\test\aaa.xls"
ですね。
この回答へのお礼
ご回答ありがとうございます。
>testdir = Left(testfile, InStrRev(testfile, "\"))
こちらで解決しました。
朝早くからご回答いただき、本当に感謝しています。
繰り返しになりますが、ありがとうございました。
この回答への補足
#1様、#2様
早速のご回答、ありがとうございます。
また、言葉足らずでスミマセンでした。
まず、testfile = "C:\test\aaa.xls"です。
そして、"C:\test\aaa.xls"はダイアログボックスから選択したフルパスなのです。
この文字列"C:\test\aaa.xls"からファイル名"aaa.xls"を除いた"C:\test\"を取得したいのです。
※もちろん、ダイアログボックスからの選択ですから状況によりパスは変動します
よろしくお願いします。
No.1ベストアンサー10pt
- 回答日時:2009/06/13 06:06
testdir = Replace(testfile , "aaa.xls" , "")
と言うこと?
この回答へのお礼
ご回答ありがとうございました。
#2さんの回答で解決できました。
ですが、早々にご回答いただいたことには大変感謝しております。
※私の言葉足らずがありまして、申し訳ありませんでした
このQ&Aを見た人はこんなQ&Aも見ています
- 4エクセル マクロで任意のフォルダのパスを取得する方法
- 5ExcelのVBAでフォルダ指定ができるダイアログボックスを出す方法
- 6エクセル マクロで指定フォルダを開く
- 7Excel VBA シート名をすべて取得し、一覧をシートに入力したい
- 8エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?
- 9VBAにて新規ブックへ既存シートのコピー
- 10VBA オブジェクトが空かどうか判定する
- 11他言語で言うcontinue文
- 12フルパスから最後のディレクトリ名を取得したい。
- 13VBA(エクセル)でアクティブファイル名の取得できますか?
- 14VBAの質問です 数値を文字列に
- 15VB上で実行中の無限ループの止め方
- 16保存先のフォルダ名を指定したいとき
- 17VBA マクロ実行時エラー 1004
- 18Excel VBA でサブフォルダ含むファイル名取得
- 19Sub ***( ) と Private Sub ***( ) の違い
- 20Excel VBA コンボボックスの初期値の設定について
注目の記事
教えて!Firefox
より速く、より安全なウェブブラウザ「Firefox(ファイアーフォックス)」に関する疑問をみんなで解決。全くの初心者から上級者までFirefoxの魅力を十分に味わうために、教えて!gooのユーザーみんながお手伝いします。
このQ&Aを見た人がよく見るQ&A
このカテゴリで人気のQ&Aランキング
- 4Excel文書が読み取り専用になって解...
- 5Excelの行列幅をcmで表示したい
- 6エクセルのセルに入力した文字数
- 7エクセルで条件に合うものを別シー...
- 8excelからexcelへの差し込み印刷
- 9エクセルに写真の貼り付けが出来ま...
- 10VLOOKUP関数で複数の検索値を設定し...
- 11EXCELの日付データを文字列に変換し...
- 12エクセルで列の全ての項目に文字を...
- 13行間を詰めるには・・・
- 14Excelで、エラーの #DIV/0! を表示...
- 15エクセルにおいて、シートの保護を...
- 16エクセルで図形やオートシェイプの...
- 17ワードのチェックボックス
- 18エクセルで、条件に一致した行を別...
- 19【excelファイルは開くがシートが表...
- 20エクセル 0や空白のセルをグラフに...






