人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ACCESS VBAの質問です。バージョンは2003です。
下記コードで、ファイルパスが取得出来るのですが、これを
「ファイル名」と 「ファイルが入っているフォルダのパス」に分けたいです。

例)
C:\Documents and Settings\hoge\デスクトップ\sample.csv

path = "C:\Documents and Settings\hoge\デスクトップ"
filename = "sample.csv"
のような結果になるようにしたいです。
コードを教えてください。

-------------------------------------------------
Public Function GetFileName() As String
Dim intRet As Integer
With Application.FileDialog(msoFileDialogOpen)
.Title = "ファイルを開くダイアログの例"
.Filters.Clear
.Filters.Add "CSV ファイル", "*.csv"
.Filters.Add "Microsoft Access データベース", "*.mdb"
.Filters.Add "Microsoft Access プロジェクト", "*.adp"
.Filters.Add "MDE ファイル", "*.mde"
.Filters.Add "すべてのファイル", "*.*"
.FilterIndex = 1
.AllowMultiSelect = False
.InitialFileName = CurrentProject.Path
intRet = .Show
If intRet <> 0 Then
GetFileName = Trim(.SelectedItems.Item(1))
Else
GetFileName = ""
End If
End With
End Function


●質問者: rupopon
●カテゴリ:コンピュータ 学習・教育
✍キーワード:access ADD application AS CSV
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● kn1967
●27ポイント
GetFileName = Trim(.SelectedItems.Item(1))
p = InStrRev(GetFileName, "\")
path = Left(GetFileName, p)
filename = Mid( GetFileName, p + 1)
◎質問者からの返答

ありがとうございました。参考にさせていただきます。


2 ● HALSPECIAL
●27ポイント

FileSystemObjectオブジェクトを使います。


Option Explicit

Dim objFS
Dim filePathName As String
Dim filename As String
Dim path As String

filePathName = GetFileName()

Set objFS = CreateObject("Scripting.FileSystemObject")
filename = objFS.GetFileName(filePathName)
path = objFS.GetParentFolderName(filePathName)
Set objFS = Nothing

◎質問者からの返答

ありがとうございました。参考にさせていただきます。


3 ● hakkyoku
●26ポイント

ファイル名取得

filename =Dir(フルパス)


フォルダ名取得

path = Left(フルパス, Len(フルパス) - Len(Dir(フルパス)))


これでどうでしょうか?

◎質問者からの返答

ありがとうございました。参考にさせていただきます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ