- ベストアンサー
VB6でフォルダに毎日更新したファイルを読み込む方法
- VB6のプログラム内で、フォルダに毎日更新したファイルを読み込む方法について教えてください。ファイル名は「aaaa_20100720123456(年月日時分秒).txt」という形式で、時間の部分が毎日変動します。
- VB6のプログラム内で、毎日更新されるファイルのファイル名を作成する方法について教えてください。ファイル名は「aaaa_20100720123456(年月日時分秒).txt」という形式で、時間の部分が毎日変動します。
- VB6のプログラム内で、毎日更新されるファイルを読み込む方法について教えてください。ファイル名は「aaaa_20100720123456(年月日時分秒).txt」という形式で、時間の部分が毎日変動します。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
Dim strFileName As String strFileName = Dir("c:\Test\aaaa_" & Format(Now,"yyyymmdd") & "*.txt") Do While strFileName <> "" 'ここで、変数 strFileName に格納されているファイル名を使って処理する。 strFileName = Dir() Loop 説明 : "*.txt" は、あなたが言っている変動する時分秒にあたるところです。 なんでもござれの指定でよいと思います。 因みに、文字列の連結は、+ ではなく & にしたほうが見た目がいいですよ。
その他の回答 (6)
- imogasi
- ベストアンサー率27% (4737/17069)
質問の意味が良くわからないが Sub test01() MsgBox Format(Now(), "yymmddhhmmss") End Sub で判ることではないですか。 上記の文字列fnがあって 100720XXXXXXを探すならiF left(fn,6)="100720" で聞けば良いのでは。
お礼
分かりづらい質問なのに回答をして頂き、ありがとうございました。 問題は解決することが出来ました。
- rukuku
- ベストアンサー率42% (401/933)
#1 rukukuです。 VB6のサンプルプログラムです。 3行目以外はEXCEL VBAと同じです。 Option Explicit Sub Main() Dim FolderPath, FileName, FileNames As String FolderPath = App.Path FileName = Dir(FolderPath & "\*.txt") If FileName = "" Then MsgBox "対象となるファイルがありません" End End If Do While FileName <> "" FileNames = StrConv(FileName, vbLowerCase) MsgBox FileName FileName = Dir() Loop End Sub
お礼
ANo.4と共にここでお礼をさせて頂きます。 丁寧な回答ありがとうございました。 Dirで解決しました。
- rukuku
- ベストアンサー率42% (401/933)
#1 rukukuです。 サンプルプログラムです。 ただし、VB6ではなく、Excel2000VBAです。(Excel2003、2007でも動作します) 自分のファイルがあるフォルダのtxtファイル名を順次、メッセージボックスに表示します。 VB6では「FolderPath = ThisWorkbook.Path」の部分が異なる以外は同じプログラムで動作します。 Option Explicit Sub FileList() Dim FolderPath, FileName, FileNames As String FolderPath = ThisWorkbook.Path FileName = Dir(FolderPath & "\*.txt") If FileName = "" Then MsgBox "対象となるファイルがありません" Exit Sub End If Do While FileName <> "" FileNames = StrConv(FileName, vbLowerCase) MsgBox FileName FileName = Dir() Loop End Sub
- trajaa
- ベストアンサー率22% (2662/11921)
読み返してみると、質問文は中途半端。 ファイル名を生成する処理をVBで作成していて、日付時刻をファイル名にする部分が分からないのか? それとも、既に日付時刻をファイル名にもつファイルが存在していて、そのファイルへのアクセス処理をVBで作成しているのか? どちらの意味なのかによって、助言する内容は全く異なる。
補足
すみません。 後者の方です。
- trajaa
- ベストアンサー率22% (2662/11921)
ん~。 私の勘違い? = Format(Now, "yyyymmddHHMMSS") じゃ駄目なのか? = Format(Now, "yyyymmddHHNNSS") てな話もあるそうだが。
補足
回答ありがとうございます。 文章が分かりづらかったですね。すみません このプログラムは更新したファイルの中のデータが何件あるかという確認のプログラムなので、更新した時間に実行する訳ではないのでダメなんですよ・・・
- rukuku
- ベストアンサー率42% (401/933)
こんばんは 「dir関数」があります。 「特定のフォルダ内の.txtファイルを順次操作する」というような場合に便利です。
お礼
早速の回答ありがとうございます。 「dir関数」ですか。ちょっと調べてみます。
お礼
分かりやすい回答ありがとうございました。 解決することが出来ました。