Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13840 / 76732 ←次へ | 前へ→

【68394】Re:テキストデータから数値をもってきて表を作りたい
質問  くま  - 11/3/2(水) 16:56 -

引用なし
パスワード
   kanabunさん
昨年はいろいろとご教示いただきましてありがとうございます。

前回の質問で頂いた回答から、自分なりに変更してみたのですが上手くいかないので、再度ご教示いただければと思います。

-------------------------------------------------

フォルダ内のファイルを順に処理するループ処理に変えてみたのですが、
vlan値は正常に取ってくるのですが、
hostnameの値が一番最初に見たファイルの値のままなのです。

roopと書く場所が間違っているのでしょうか…?

  hostname   vlan ID
   ABC      220
   ABC      221
   ABC      306 
   ABC      3100
   ABC      3101
   ABC      3102
   ABC      3103
   ABC      110  ←ここから次のファイル(別のhostnameになる)
   ABC      306
   ABC      1900
   ABC      2105
   ABC      2106

-------------------------------------------------
Sub Try_test()
Dim io As Integer
Dim myLogFile As String
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

ChDir ("C:\マクロ")
myLogFile = Dir("*.log", vbNormal)

Do While myLogFile <> ""

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
    myLogFile = Dir()
Loop

End Sub
2 hits

【67107】テキストデータから数値をもってきて表を作りたい くま 10/11/4(木) 16:00 質問
【67108】Re:テキストデータから数値をもってきて表... kanabun 10/11/4(木) 16:39 発言
【67109】Re:テキストデータから数値をもってきて表... kanabun 10/11/4(木) 16:56 発言
【67110】Re:テキストデータから数値をもってきて表... kanabun 10/11/4(木) 17:24 発言
【67115】Re:テキストデータから数値をもってきて表... くま 10/11/5(金) 9:42 質問
【67116】Re:テキストデータから数値をもってきて表... kanabun 10/11/5(金) 10:51 発言
【67117】Re:テキストデータから数値をもってきて表... kanabun 10/11/5(金) 11:04 発言
【68394】Re:テキストデータから数値をもってきて表... くま 11/3/2(水) 16:56 質問
【68397】Re:テキストデータから数値をもってきて表... kanabun 11/3/2(水) 20:44 発言
【68398】Re:テキストデータから数値をもってきて表... kanabun 11/3/2(水) 20:47 回答
【68399】Re:テキストデータから数値をもってきて表... kanabun 11/3/2(水) 21:12 発言
【68401】Re:テキストデータから数値をもってきて表... kanabun 11/3/2(水) 21:30 回答
【67118】Re:テキストデータから数値をもってきて表... Yuki 10/11/5(金) 11:54 発言

13840 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free