ファイル保存時に、ファイル名に自動的に連番を付与するには?

解決


KATO  2010-04-05 02:15:14  No: 146788  IP: [192.*.*.*]

ボタンを押してファイルを決められたフォルダに保存する処理で、ファイル名に自動的に連番(01, 02, 03…)を付与するようにするには、どのように記述すればよいのでしょうか?
初心者なので、よろしくお願いします。

編集 削除
魔界の仮面弁士  2010-04-05 09:35:24  No: 146789  IP: [192.*.*.*]

01.TXT, 02.TXT, 03.TXT のようにしたいのか
File.01, File.02, File.03 のようにしたいのか
File01.JPG, File02.JPG, File03.JPG のようにしたいのか
また、99 まで到達後はどうしたいのかなど、細かいところが
良く分かりませんが…とりあえず、VB2008 だとこんな感じ。

これにより、C:\Sample\01.TXT が作成されます。
(01.TXT が既にあった場合には 02.TXT が生成されます)


'Imports System
'Imports System.IO
'Imports System.Text

'保存させるテキストデータ
Dim contents As String = "一行目" & vbNewLine & "二行目"

'保存先のフォルダ
Dim folderName As String = "C:\Sample\"

'空き連番を探してファイル名を取得
Dim getFileName = Function(i As Integer) Path.Combine(folderName, i.ToString("00") & ".TXT")
Dim firstIndex = Enumerable.Range(1, 99).First(Function(i) Not File.Exists(getFileName(i)))

'保存処理
Dim fullPath As String = getFileName(firstIndex)
File.WriteAllText(fullPath, contents, Encoding.GetEncoding("Shift_JIS"))

編集 削除
KATO  2010-04-11 23:07:37  No: 146790  IP: [192.*.*.*]

魔界の仮面弁士さんありがとうございます。
問題が解決しました。

編集 削除