• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Visual Basic 6.0について)

VB6でフォルダに毎日更新したファイルを読み込む方法

このQ&Aのポイント
  • VB6のプログラム内で、フォルダに毎日更新したファイルを読み込む方法について教えてください。ファイル名は「aaaa_20100720123456(年月日時分秒).txt」という形式で、時間の部分が毎日変動します。
  • VB6のプログラム内で、毎日更新されるファイルのファイル名を作成する方法について教えてください。ファイル名は「aaaa_20100720123456(年月日時分秒).txt」という形式で、時間の部分が毎日変動します。
  • VB6のプログラム内で、毎日更新されるファイルを読み込む方法について教えてください。ファイル名は「aaaa_20100720123456(年月日時分秒).txt」という形式で、時間の部分が毎日変動します。

質問者が選んだベストアンサー

  • ベストアンサー
  • mino1219
  • ベストアンサー率66% (2/3)
回答No.7

Dim strFileName As String strFileName = Dir("c:\Test\aaaa_" & Format(Now,"yyyymmdd") & "*.txt") Do While strFileName <> "" 'ここで、変数 strFileName  に格納されているファイル名を使って処理する。 strFileName = Dir() Loop 説明 : "*.txt" は、あなたが言っている変動する時分秒にあたるところです。 なんでもござれの指定でよいと思います。 因みに、文字列の連結は、+ ではなく & にしたほうが見た目がいいですよ。

regulus0725
質問者

お礼

分かりやすい回答ありがとうございました。 解決することが出来ました。

その他の回答 (6)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

質問の意味が良くわからないが Sub test01() MsgBox Format(Now(), "yymmddhhmmss") End Sub で判ることではないですか。 上記の文字列fnがあって 100720XXXXXXを探すならiF left(fn,6)="100720" で聞けば良いのでは。

regulus0725
質問者

お礼

分かりづらい質問なのに回答をして頂き、ありがとうございました。 問題は解決することが出来ました。

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.5

#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

regulus0725
質問者

お礼

ANo.4と共にここでお礼をさせて頂きます。 丁寧な回答ありがとうございました。 Dirで解決しました。

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.4

#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)
回答No.3

読み返してみると、質問文は中途半端。 ファイル名を生成する処理をVBで作成していて、日付時刻をファイル名にする部分が分からないのか? それとも、既に日付時刻をファイル名にもつファイルが存在していて、そのファイルへのアクセス処理をVBで作成しているのか? どちらの意味なのかによって、助言する内容は全く異なる。

regulus0725
質問者

補足

すみません。 後者の方です。

  • trajaa
  • ベストアンサー率22% (2662/11921)
回答No.2

ん~。 私の勘違い? = Format(Now, "yyyymmddHHMMSS") じゃ駄目なのか? = Format(Now, "yyyymmddHHNNSS") てな話もあるそうだが。

regulus0725
質問者

補足

回答ありがとうございます。 文章が分かりづらかったですね。すみません このプログラムは更新したファイルの中のデータが何件あるかという確認のプログラムなので、更新した時間に実行する訳ではないのでダメなんですよ・・・

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.1

こんばんは 「dir関数」があります。 「特定のフォルダ内の.txtファイルを順次操作する」というような場合に便利です。

regulus0725
質問者

お礼

早速の回答ありがとうございます。 「dir関数」ですか。ちょっと調べてみます。

関連するQ&A

専門家に質問してみよう