質問編集履歴

2

質問への追記

2022/08/18 12:28

投稿

nkym771
nkym771

スコア29

test CHANGED
File without changes
test CHANGED
@@ -3,6 +3,10 @@
3
3
  Excelの場合、範囲を配列に一括で入れて速く処理するという方法がありますが、
4
4
  ワードでも同じような方法(配列に入れる)は可能でしょうか。
5
5
  よろしくお願いします。
6
+
7
+ (補足)
8
+ 御投稿ありがとうございます。
9
+ 全文から、単語myArray(j,0) or myArray(j,1) が含まれる文章の出現回数をmyArrayCnt(j)に代入するという処理です。単語は複数種類あり(j)、中略を挟んで二度同種の処理があります。
6
10
 
7
11
  ```VBA
8
12
  Sub ReadDocument()
@@ -10,12 +14,16 @@
10
14
  Dim i As Long
11
15
  Set st = ActiveDocument.Sentences
12
16
  For i = 1 To st.Count
17
+ For j = 1 To 10
13
- If st.Item(i) = "AA" & vbCr Then '処理は省略
18
+ If instr(st.Item(i), myArray(j, 0))>0 or instr(st.Item(i), myArray(j, 1))>0
19
+ Then myArrayCnt(j)=myArrayCnt(j)+1
20
+ Next
14
21
  Next
15
22
  '中略
16
23
  For i = 1 To st.Count
24
+ For j = 1 To 8
17
- If st.Item(i) = "BB" & vbCr Then ’処理は省略
25
+ If instr(st.Item(i), myArray2(j,0))>0 or instr(st.Item(i), myArray2(j,1))>0 Then myArrayCnt2(j)=myArrayCnt2(j)+1
26
+ Next
18
27
  Next
19
28
  End Sub
20
-
21
29
  ```

1

修正

2022/08/17 12:02

投稿

nkym771
nkym771

スコア29

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ワードファイルの全ページの全行に対する行単位の処理があり、現在、
2
2
  st.Item(i) のような形で処理をしています。この処理を速めたいです。
3
- Excelの場合、範囲を配列に入れて速く処理するという方法がありますが、
3
+ Excelの場合、範囲を配列に一括で入れて速く処理するという方法がありますが、
4
4
  ワードでも同じような方法(配列に入れる)は可能でしょうか。
5
5
  よろしくお願いします。
6
6