|
以前にこちらで質問させていただいた者です。
質問【67107】にて下記の回答を頂き、イミディエイトウィンドウにて、想定通りの結果が抽出・表示されることを確認できたのですが、
そのイミディエイトウィンドウに表示されたものを、新しいブックのシートに書き出したいのですが、その方法をご教授いただけないでしょうか。
----------------------------------------------------------
Book1にマクロ実行ボタンを作成し、
ボタンを押すと抽出結果がBook1のsheet1に記載されるようにしたいです。
また、最終的にはフォルダ内の全ログファイルを処理し、
Book1のsheet1に続けて表示するマクロにしたいので、
そちらも教えていただけないでしょうか。
Sub test()
Dim io As Integer
Dim myLogFile As String: myLogFile = "C:\Program Files\macro\ABC.log"
Dim buf() As Byte
Dim ss() As String, s As String, Series, num As Long
Dim hostname As String, ok As Boolean
Dim i As Long, j As Long
Dim rex As RegExp
Dim mm As Match
Set rex = New RegExp
io = FreeFile()
Open myLogFile For Binary As io
ReDim buf(1 To LOF(io))
Get io, , buf
Close io
ss = Split(StrConv(buf, vbUnicode), vbCrLf)
With rex
.Pattern = "[\d-]+"
.Global = True
For i = 0 To UBound(ss) - 1
If Not ok Then
If ss(i) Like "hostname*" Then
hostname = Split(ss(i))(1)
Debug.Print , "hostname", "vlan ID"
ok = True
End If
ElseIf ss(i) Like "vlan*" Then
If Mid$(ss(i), 6, 1) Like "#" Then
For Each mm In .Execute(ss(i))
s = mm.Value
If s <> "-" Then
Series = Split(s, "-")
num = Series(0)
For j = num To Val(Series(UBound(Series)))
Debug.Print , hostname, j
Next
End If
Next
End If
End If
Next
End With
End Sub
よろしくお願いいたします。
|
|