>できれば、ファイル名の法則?に従って数値のみ編集したいと思っています。
私の知識内では代替案になってしまいますが・・・(もっと詳しい方なら出来るのかもしれません)
Inputbox内の初期値として最新のファイル名が代入されます。
数値部分のみを編集してOKを押せば近いような処理にはなるかと思いますが如何でしょうか。。。
例としてファイル名はA1~、更新日時(日時というか更新日でしょうか?)はB1~に出力させます。
※時間まで出したい場合はFormatを外せば出来ると思います。例えば更新日が同一のファイルが複数あったりする場合、こちらの方が確実に最新のファイルを特定できるので推奨しますが・・・
Sub test()
Dim strfolder As String
Dim strnewfilename As String
Dim buf As String
Dim i As Long
Dim copybook As Workbook
ActiveSheet.Cells.ClearContents
strfolder = ThisWorkbook.Path & "\"
buf = Dir(strfolder)
i = 1
Do Until buf = ""
If buf <> ThisWorkbook.Name Then
Range("A" & i) = strfolder & buf
Range("B" & i) = "更新日時:" & Format(FileDateTime(strfolder & buf), "yyyy/mm/dd")
i = i + 1
End If
buf = Dir()
Loop
Range("A1").CurrentRegion.Sort key1:=Range("B1"), key2:=Range("A1")
Set copybook = Workbooks.Open(Range("A1").End(xlDown).Value)
strnewfilename = InputBox("保存するファイル名を入力", Default:=copybook.Name)
With copybook
.SaveAs strfolder & strnewfilename
.Close(False)
End With
End Sub
お礼
回答ありがとうございます! お蔭様で上手く作ることが出来ました。