[こんにちは私はVBAの新機能で、マクロをエクセルして自分のマクロを作成しようとしています。私が持っているVBミニプログラムは、特定のディレクトリや場所にあるすべてのログファイルで特定の値(例15)を検索します。ログファイルに値が見つかると、プログラムはそれをリストボックスに表示します。私のプログラムは機能しています。私の唯一の問題は、その場所に数百または数千のログファイルがある場合、プログラムは正確な値15のログデータを含む1または5の値を持つすべてのログデータをリストします。もう1つの問題は、下にリストされています。これは、正しい値を持つ最初に見つかった項目の上にあるか、リストされているはずです。以下は私の質問です。特定のフォルダまたはディレクトリ(場所)のテキストボックス内の値を検索または比較し、正確な値を持つログファイルを一覧表示します
それはプログラムが正確な値を持つログデータを見つけた場合、プログラムは一番上に一覧表示されますか、最初に挙げられることは可能ですか?
出力が制限されている場合もより簡単です。 1と5のファイルが数千または数百になると、すべてがリストボックスに表示されるためです。値が15の正しいログデータのみをリストすることは可能ですか?親切にスナップショットとコードを参照してください。私は私の仕事の中でこのマクロを使用しようとしています。私はそれを理解しようとしています。
Private Sub Comfind_Click()
Dim theString As String
Dim path As String
Dim StrFile As String
Dim fso As New FileSystemObject
Dim file As TextStream
Dim line As String
Dim blnFound As Boolean
ListLog.Clear
theString = TextPlate.Text
path = TextPath.Text
StrFile = Dir(path & "*.pdms")
Do While StrFile <> ""
'Find TheString in the file
'If found, list log and exit loop
Set file = fso.OpenTextFile(path & StrFile)
Do While Not file.AtEndOfLine
line = file.ReadLine
If InStr(1, line, theString, vbTextCompare) > 0 Then
ListLog.AddItem StrFile
Exit Do
End If
Loop
file.Close
Set file = Nothing
Set fso = Nothing
StrFile = Dir()
Loop
MsgBox "successfully search log data!!!"
End Sub
ハイテクあなたのコードの作品を。ありがとうございました。しかし、私は別の質問があります。結果が表示されない場合でも、データログがポップアップ表示されない可能性がありますか?私はMsgboxの仕組みを知っていますが、それを置くことは考えられません。その条件に合うように別のif条件を作成する必要がありますか?ありがとうございました! – sayjon