アプリ版:「スタンプのみでお礼する」機能のリリースについて

Visual Basic 6.0について
いまプログラムを組んでいるのですが、どうしても分からない点があるので質問させていただきます。
フォルダに毎日更新したときに追加される「aaaa_20100720123456(年月日時分秒).txt」というファイルがあるとします。(年月日時分秒の部分は更新した時間です。)
このファイルをVB6のプログラム内でString型で定義した変数を=で結びたいのです。年月日の部分まではFormat(Now,yyyyMMdd)でいいのですが、時分秒の部分は毎日更新する時間が微妙に違うのでどう書けばいいかが分かりません。
分かりづらいと思いますが、どなたか教えて頂けますか?宜しくお願いします。

このような感じです。
Dim a as String

a="aaaa_"+Format(Now,"yyyyMMdd")+(この部分が分かりません)+".txt"

A 回答 (7件)

こんばんは



「dir関数」があります。
「特定のフォルダ内の.txtファイルを順次操作する」というような場合に便利です。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。

「dir関数」ですか。ちょっと調べてみます。

お礼日時:2010/07/20 21:51

ん~。


私の勘違い?

= Format(Now, "yyyymmddHHMMSS")

じゃ駄目なのか?

= Format(Now, "yyyymmddHHNNSS")
てな話もあるそうだが。

この回答への補足

回答ありがとうございます。

文章が分かりづらかったですね。すみません

このプログラムは更新したファイルの中のデータが何件あるかという確認のプログラムなので、更新した時間に実行する訳ではないのでダメなんですよ・・・

補足日時:2010/07/20 22:01
    • good
    • 0

読み返してみると、質問文は中途半端。



ファイル名を生成する処理をVBで作成していて、日付時刻をファイル名にする部分が分からないのか?

それとも、既に日付時刻をファイル名にもつファイルが存在していて、そのファイルへのアクセス処理をVBで作成しているのか?

どちらの意味なのかによって、助言する内容は全く異なる。

この回答への補足

すみません。

後者の方です。

補足日時:2010/07/20 22:05
    • good
    • 0

#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
    • good
    • 0

#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
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/07/28 23:02

質問の意味が良くわからないが


Sub test01()
MsgBox Format(Now(), "yymmddhhmmss")
End Sub
で判ることではないですか。
上記の文字列fnがあって 100720XXXXXXを探すならiF left(fn,6)="100720" で聞けば良いのでは。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/07/28 23:04

Dim strFileName As String



strFileName = Dir("c:\Test\aaaa_" & Format(Now,"yyyymmdd") & "*.txt")

Do While strFileName <> ""

'ここで、変数 strFileName  に格納されているファイル名を使って処理する。


strFileName = Dir()
Loop


説明 :

"*.txt" は、あなたが言っている変動する時分秒にあたるところです。
なんでもござれの指定でよいと思います。

因みに、文字列の連結は、+ ではなく & にしたほうが見た目がいいですよ。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/07/28 23:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!