
あるフォルダにjpgファイルが入っています。
jpgファイルのファイル名は数字であり、この数字は1からはじまるとは限りません。
行いたいこと→このファイルの中で一番若い数字をCells(5,1)に書き出したいです。
そこで、欲しいのはフォルダを開いたときに一番上に来る(=一番小さい数字)ファイル名だったため、以下のマクロを組みました。
'jpgファイル名を取り込む
Buf = Dir(FolderPath & "*.jpg")
'jpgファイルの一番最初のファイル名をCells(5, 1)に出力
Do While cnt <= 1
Cells(5, 1).Value = Buf
Exit Do
Loop
Cells(5, 1).Value = Replace(Cells(5, 1).Value, ".jpg", "") 'ファイル名から.jpgを削除
ですが、これを実行すると、仮にファイル名最小が20だったとしても、100などの1から始まる数字が入ってしまいます。
どのようにすればこれを改善できるでしょうか?
説明下手で申し訳ありません。補足もしますので、どなたか知恵をお貸しください。
No.2ベストアンサー
- 回答日時:
以下のようにしてください。
FolderPath はあなたの環境に書き換えてください。
数字に変換できないファイル名の場合、そのファイルは無視されます。
A001.jpg 等はむしされます。
Public Sub 試験()
Dim FolderPath As String
FolderPath = "d:\goo\data\"
Dim Buf As String
Dim name As String
Dim temp As String
Buf = dir(FolderPath & "*.jpg")
name = ""
Do While Buf <> ""
temp = Left(Buf, Len(Buf) - 4)
If IsNumeric(temp) = True Then
If name = "" Then
name = temp
End If
If CLng(temp) < CLng(name) Then
name = temp
End If
End If
Buf = dir()
Loop
Cells(5, 1).Value = name
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) 3個のfileのセルデータを1個のfileのセルに貼り付けるVBAコードですが。 1 2023/02/20 09:21
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- PHP 画像ファイルの名前をそのままURLにする 3 2022/10/16 11:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
フォルダ内の更新日時が一番新...
-
【VBScript】※渡したい変数のみ...
-
シェルスクリプトでファイル名...
-
コマンドプロンプトでファイル...
-
ファイル名の頭5桁と同名のフォ...
-
サブフォルダからファイルをコ...
-
ExcelVBAのDirでスペース含むフ...
-
ファイル名を一括してリネーム...
-
ftp処理でmove(移動)を行いたい
-
高度なバッチファイル作成方法
-
aタグのhrefにネットワークパス...
-
[DOS] コピー先に同じファイル...
-
バッチファイルで、iniファイル...
-
xcopyによるフォルダコピー
-
Visual C++ 2008 Express Editi...
-
バッチファイルの繰り返し処理...
-
自動化のソフトの作り方を教え...
-
バッチファイル
-
バッチ処理で16進数でファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
バッチファイルで、iniファイル...
-
コマンドプロンプトでファイル...
-
ftp処理でmove(移動)を行いたい
-
コマンドプロンプトで変数が数...
-
ExcelVBAのDirでスペース含むフ...
-
[DOS] コピー先に同じファイル...
-
ファイル名の頭5桁と同名のフォ...
-
サブフォルダからファイルをコ...
-
フォルダ内の更新日時が一番新...
-
.batでファイル名から抽出して...
-
access,vbaでフォルダ内のファ...
-
バッチファイルで同一フォルダ...
-
バッチコマンドでファイル名の...
-
Windowsコマンドプロンプトで、...
-
スタートアップのファイルをバ...
-
ファイル名に ” を使うと エク...
-
ファイル名を該当フォルダ内か...
-
aタグのhrefにネットワークパス...
-
【DOSバッチ開発】末尾のタブの...
おすすめ情報