
No.4ベストアンサー
- 回答日時:
FileSystemObjectを使ったらどうですか?
拡張子&ファイル名を取得する方法を書いときます
参照設定で「Microsoft Scripting Runtime」を参照します。
'拡張子のみ取得
Function hoge1(strPath As String) As String
Dim fso As New FileSystemObject
hoge1=fso.GetExtensionName(strPath)
End Sub
'ファイル名のみ取得
Function hoge2(strPath As String) As String
Dim fso As New FileSystemObject
hoge2=fso.GetFileName(strPath)
End Sub
じゃ、そゆことで。
ありがとうございます
そうか、FileSystemObjectか・・・
存在を忘れていました(笑)
参考になりました。早速使わせていただきますw
No.3
- 回答日時:
お疲れ様です。
ファイル名の後ろから"."を探せばいいのではないでしょうか。
(例
Dim ファイル名 As String
Dim 名前 As String
Dim 拡張子 As String
Dim 位置 As Long
ファイル名 = "AIUEO.TXT"
位置 = InStrRev(ファイル名, ".") '// 後ろから文字を検索
名前 = Left$(ファイル名, 位置 - 1) '// 名前が入る
拡張子 = Right$(ファイル名, Len(ファイル名) - 位置) '// 拡張子が入る
(結果
名前 = "AIUEO"
拡張子 = "TXT"
間違っていたらごめんなさい。
おはようございます
お礼が遅くなって申し訳ありません!
InStrRevっていう関数があるんですねw
知らなかったな~^^
私はLen関数で文字列長を取得してから、Loopで回してました(笑)
勉強になりました!
No.2
- 回答日時:
拡張子を認識するためのAPI関数があります。
ファイルのフルパスでもOK
'拡張子のピリオドを<<vbNullChar>>に変換するAPI関数
Private Declare Sub PathRemoveExtension Lib "shlwapi.dll" Alias "PathRemoveExtensionA" (ByVal pszPath As String)
Sub Main()
Const FILE1 As String = "c:\test\index.html"
Const FILE2 As String = "c:\test\index.html.doc.txt.wav"
Const FILE3 As String = "index"
Const FILE4 As String = "index.html.doc.txt.wav.ウィルス"
Dim wkStr1 As String
Dim wkStr2 As String
Call GetGetGet(FILE1, wkStr1, wkStr2)
MsgBox _
"ファイル名:[" & FILE1 & "]" & vbNewLine & _
"ファイル :[" & wkStr1 & "]" & vbNewLine & _
"拡張子 :[" & wkStr2 & "]"
Call GetGetGet(FILE2, wkStr1, wkStr2)
MsgBox _
"ファイル名:[" & FILE2 & "]" & vbNewLine & _
"ファイル :[" & wkStr1 & "]" & vbNewLine & _
"拡張子 :[" & wkStr2 & "]"
Call GetGetGet(FILE3, wkStr1, wkStr2)
MsgBox _
"ファイル名:[" & FILE3 & "]" & vbNewLine & _
"ファイル :[" & wkStr1 & "]" & vbNewLine & _
"拡張子 :[" & wkStr2 & "]"
Call GetGetGet(FILE4, wkStr1, wkStr2)
MsgBox _
"ファイル名:[" & FILE4 & "]" & vbNewLine & _
"ファイル :[" & wkStr1 & "]" & vbNewLine & _
"拡張子 :[" & wkStr2 & "]"
Exit Sub
End Sub
Function GetGetGet(ByVal inFileName As String, ByRef outFileName As String, ByRef outKakutyousi As String)
Dim valWork As Variant
'戻りパラメータ初期化
outFileName = ""
outKakutyousi = ""
'拡張子を<<vbNullChar>>に変換
Call PathRemoveExtension(inFileName)
'vbNullCharで切り分ける
valWork = Split(inFileName, vbNullChar)
'配列の先頭がファイル名
outFileName = valWork(0)
'拡張子が存在してない時は、以下を通らない
If UBound(valWork) > 0 Then
outKakutyousi = valWork(1)
End If
End Function
御有難う御座りまスル!!
ムムム・・・・・・・・
何か非常に難しいですな
拙者の存ぜぬ関数なる物が
多分に表記されておる為か
理解に時が必要じゃw
拙者の現在の習熟能力では
把握出来ぬ故、暫しの時を
くだされ、勉学に勤しんで
みるとしよう・・・(笑)
VBって奥が深いですね!
まだまだ勉強が必要です。
皆さんホントにどうもです
o(o|o)/ (V)o\o(V)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- その他(プログラミング・Web制作) ファイル名の一部をbatで変更したい batファイルを使って、以下のようにファイル名の一部を変更した 3 2023/02/21 20:09
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
バッチファイルで、iniファイル...
-
[DOS] コピー先に同じファイル...
-
コマンドプロンプトでファイル...
-
ExcelVBAのDirでスペース含むフ...
-
フォルダ内の更新日時が一番新...
-
ftp処理でmove(移動)を行いたい
-
【DOSバッチ開発】末尾のタブの...
-
サブフォルダからファイルをコ...
-
ファイル名の頭5桁と同名のフォ...
-
バッチコマンドでファイル名の...
-
バッチファイルで同一フォルダ...
-
ファイル名を一括してリネーム...
-
VBA GetAttrについて教えてくだ...
-
ファイル名に ” を使うと エク...
-
.batでファイル名から抽出して...
-
ExifToolでの文字化け対策
-
VB6.0 Dir関数について
-
コマンドでファイルコピーする...
-
【Access】エクスポート時のフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
バッチファイルで、iniファイル...
-
コマンドプロンプトで変数が数...
-
ftp処理でmove(移動)を行いたい
-
[DOS] コピー先に同じファイル...
-
ファイル名の頭5桁と同名のフォ...
-
フォルダ内の更新日時が一番新...
-
ExcelVBAのDirでスペース含むフ...
-
サブフォルダからファイルをコ...
-
バッチコマンドでファイル名の...
-
Windowsコマンドプロンプトで、...
-
DOSのバッチ作成について‐FORの...
-
ファイル名に ” を使うと エク...
-
.batでファイル名から抽出して...
-
ファイル名を該当フォルダ内か...
-
【DOSバッチ開発】末尾のタブの...
-
access,vbaでフォルダ内のファ...
-
VBA GetAttrについて教えてくだ...
-
ファイル名を一括してリネーム...
おすすめ情報