
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を探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
バッチコマンドでファイル名の...
-
コマンドプロンプトでファイル...
-
ExcelVBAのDirでスペース含むフ...
-
バッチファイルで、iniファイル...
-
フォルダ内の更新日時が一番新...
-
DOSのバッチ作成について‐FORの...
-
access,vbaでフォルダ内のファ...
-
コマンドプロンプトで変数が数...
-
[DOS] コピー先に同じファイル...
-
ftp処理でmove(移動)を行いたい
-
Visual C++ 2008 Express Editi...
-
バッチファイルの繰り返し処理...
-
ファイル名に ” を使うと エク...
-
大量のフォルダからひとつのフ...
-
コマンドプロンプトのエラーに...
-
隠しファイルの扱い
-
[teraterm] waitコマンドで停止...
-
バッチでテキストファイルから...
-
binファイルを解凍したいの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
[DOS] コピー先に同じファイル...
-
コマンドプロンプトでファイル...
-
バッチファイルで、iniファイル...
-
ftp処理でmove(移動)を行いたい
-
コマンドプロンプトで変数が数...
-
ExcelVBAのDirでスペース含むフ...
-
ファイル名の頭5桁と同名のフォ...
-
フォルダ内の更新日時が一番新...
-
サブフォルダからファイルをコ...
-
バッチコマンドでファイル名の...
-
access,vbaでフォルダ内のファ...
-
ファイル名を一括してリネーム...
-
スタートアップのファイルをバ...
-
VBA GetAttrについて教えてくだ...
-
aタグのhrefにネットワークパス...
-
【DOSバッチ開発】末尾のタブの...
-
.batでファイル名から抽出して...
-
word VBA ファイル名 保存
-
Windowsコマンドプロンプトで、...
おすすめ情報