回答編集履歴
2
ちょっと修正
answer
CHANGED
@@ -14,6 +14,7 @@
|
|
14
14
|
Const WORD = "Release" ' 検索対象の文字列
|
15
15
|
Dim wordlen As Integer ' 検索対象の文字列の長さ
|
16
16
|
Dim lines As Variant ' 分割した行を格納する変数
|
17
|
+
Dim line As String ' 1行分
|
17
18
|
|
18
19
|
' 改行コードで分割
|
19
20
|
lines = Split(Alllog4, vbCrLf)
|
@@ -22,11 +23,11 @@
|
|
22
23
|
strlen = Len(WORD)
|
23
24
|
|
24
25
|
' 行ごとにループ
|
25
|
-
For Each
|
26
|
+
For Each line In lines
|
26
27
|
' 行の先頭に検索対象文字列があるか
|
27
|
-
If Left(
|
28
|
+
If Left(line, wordlen) = WORD Then
|
28
29
|
' 検索対象文字列以降を抽出
|
29
|
-
Debug.Print Mid(
|
30
|
+
Debug.Print Mid(line, wordlen + 2)
|
30
31
|
End If
|
31
32
|
Next
|
32
33
|
```
|
1
追記
answer
CHANGED
@@ -5,4 +5,28 @@
|
|
5
5
|
Line変数に行データがあると仮定して、次のようにすればRelease以降の文字列が取得できます。
|
6
6
|
```VBA
|
7
7
|
Mid(Line, Len("Release ") + 1)
|
8
|
+
```
|
9
|
+
|
10
|
+
更新された質問の回答です。
|
11
|
+
ReadAllでまとめて変数に保持しているのであれば、改行コード単位で分割してから処理するのが良いと思います。
|
12
|
+
|
13
|
+
```VBA
|
14
|
+
Const WORD = "Release" ' 検索対象の文字列
|
15
|
+
Dim wordlen As Integer ' 検索対象の文字列の長さ
|
16
|
+
Dim lines As Variant ' 分割した行を格納する変数
|
17
|
+
|
18
|
+
' 改行コードで分割
|
19
|
+
lines = Split(Alllog4, vbCrLf)
|
20
|
+
|
21
|
+
' 検索対象の文字列の長さを取得
|
22
|
+
strlen = Len(WORD)
|
23
|
+
|
24
|
+
' 行ごとにループ
|
25
|
+
For Each Line In lines
|
26
|
+
' 行の先頭に検索対象文字列があるか
|
27
|
+
If Left(Line, wordlen) = WORD Then
|
28
|
+
' 検索対象文字列以降を抽出
|
29
|
+
Debug.Print Mid(Line, wordlen + 2)
|
30
|
+
End If
|
31
|
+
Next
|
8
32
|
```
|