![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?08b1c8b)
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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
ファイル名の頭5桁と同名のフォ...
-
コマンドプロンプトでファイル...
-
コマンドプロンプトで変数が数...
-
ファイル名を該当フォルダ内か...
-
[DOS] コピー先に同じファイル...
-
バッチファイルで、iniファイル...
-
ftp処理でmove(移動)を行いたい
-
DOSのバッチ作成について‐FORの...
-
ファイル名に ” を使うと エク...
-
サブフォルダからファイルをコ...
-
【Access】エクスポート時のフ...
-
aタグのhrefにネットワークパス...
-
VBA GetAttrについて教えてくだ...
-
ファイル名の一部に年月日が入...
-
バッチファイルで同一フォルダ...
-
.batでファイル名から抽出して...
-
ファイル名を変更して移動させ...
-
【DOSバッチ開発】末尾のタブの...
-
フォルダ内の更新日時が一番新...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
[DOS] コピー先に同じファイル...
-
ftp処理でmove(移動)を行いたい
-
コマンドプロンプトでファイル...
-
バッチファイルで、iniファイル...
-
コマンドプロンプトで変数が数...
-
フォルダ内の更新日時が一番新...
-
ExcelVBAのDirでスペース含むフ...
-
.batでファイル名から抽出して...
-
サブフォルダからファイルをコ...
-
バッチコマンドでファイル名の...
-
ファイル名を該当フォルダ内か...
-
ファイル名の頭5桁と同名のフォ...
-
【DOSバッチ開発】末尾のタブの...
-
ファイル名に ” を使うと エク...
-
aタグのhrefにネットワークパス...
-
word VBA ファイル名 保存
-
前日日付のファイルGETバッチ
-
DOSのバッチ作成について‐FORの...
-
コマンドでファイルコピーする...
おすすめ情報