| 
    
     |  | 以前にこちらで質問させていただいた者です。 
 質問【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
 
 
 よろしくお願いいたします。
 
 |  |