[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/03/06(Mon) 09:38
投稿者名:gt
URL :
タイトル:
ファイル名を取得したい
お世話になっています,dtです。

取得したファイルのパス中でファイル名だけを取り出したいのですが、
簡単な仕方があるのでしょうか。

よろしくお願いします。

投稿時間:2006/03/06(Mon) 10:00
投稿者名:matsu
Eメール:
URL :
タイトル:
Re: ファイル名を取得したい
> お世話になっています,dtです。
>
> 取得したファイルのパス中でファイル名だけを取り出したいのですが、
> 簡単な仕方があるのでしょうか。
>
> よろしくお願いします。

InStrRevで"\"の位置を取得してみては?

投稿時間:2006/03/06(Mon) 10:01
投稿者名:YK
Eメール:
URL :
タイトル:
Re: ファイル名を取得したい
こんにちは。

> 取得したファイルのパス中でファイル名だけを取り出したいのですが、
> 簡単な仕方があるのでしょうか。
こんな感じでどうでしょう

Filename = Split(FilePath, "\")(UBound(Split(FilePath, "\")))

投稿時間:2006/03/06(Mon) 10:01
投稿者名:Blue
Eメール:
URL :
タイトル:
Re: ファイル名を取得したい
FileSystemObjectオブジェクトのGetFileNameメソッドを使うと簡単に取得できます。
hhttp://www.bcap.co.jp/hanafusa/VBHLP/FSO01.htm

文字列操作でもやろうと思えばできますけど。
1. 後から \ の位置を探す。(InStrRev)
2. Mid関数(またはRight関数)で切り出す。

投稿時間:2006/03/06(Mon) 10:13
投稿者名:gt
URL :
タイトル:
解決
matsuさん、YKさん、Blueさん
ご回答ありがとう。

YKさんのコードを使いました(一番簡単だ)。

本当にありがとうございました。

投稿時間:2006/03/06(Mon) 10:25
投稿者名:Blue
Eメール:
URL :
タイトル:
Re: 解決
ちなみに存在するファイルパスであれば、Dir関数で取れます。
Filename = Dir(FilePath)

> FileSystemObjectオブジェクトのGetFileNameメソッドを使うと簡単に取得できます。
Filename = CreateObject("Scripting.FileSystemObject").GetFileName(FilePath)

> 文字列操作でもやろうと思えばできますけど。
Filename = Mid(FilePath, InStrRev(FilePath, "\") + 1)

> 一番簡単だ
の基準がわからない。文字列操作(InStrRev+Mid)がいちばん簡明だと思うんだけど。
(Splitは一見簡単そうに見えるけど、無駄なところが多い。)

投稿時間:2006/03/06(Mon) 11:07
投稿者名:gt
URL :
タイトル:
Re^2: 解決2
Blueさん:
ご回答ありがとう。

> ちなみに存在するファイルパスであれば、Dir関数で取れます。
> Filename = Dir(FilePath)
>
この関数があるだ、VBですごくわかりやすいですね。(これを使います)

> > FileSystemObjectオブジェクトのGetFileNameメソッドを使うと簡単に取得できます。
> Filename = CreateObject("Scripting.FileSystemObject").GetFileName(FilePath)
>
> > 文字列操作でもやろうと思えばできますけど。
> Filename = Mid(FilePath, InStrRev(FilePath, "\") + 1)
>
> の基準がわからない。文字列操作(InStrRev+Mid)がいちばん簡明だと思うんだけど。
> (Splitは簡単だけど、無駄なところが多い。)

いろいろ方法があるのですね、勉強になりました。

ありがとうございました。