質問編集履歴

5

ソースコード修正

2020/04/15 04:09

投稿

kumataro_
kumataro_

スコア5

test CHANGED
File without changes
test CHANGED
@@ -100,23 +100,63 @@
100
100
 
101
101
  ```vba
102
102
 
103
- Sub すべての見出しの文字列を取得する_()
103
+ Sub sample()
104
104
 
105
- Dim par As Paragraph
105
+ Dim out As String
106
106
 
107
- For Each par In ActiveDocument.Paragraphs
108
107
 
109
- If par.OutlineLevel <> wdOutlineLevelBodyText Then
110
108
 
111
- Debug.Print _
109
+ Dim adoSt As Object
112
110
 
113
- par.OutlineLevel & vbTab & _
111
+ Set adoSt = CreateObject("ADODB.Stream")
114
112
 
115
- Replace(par.Range.Text, vbCr, "")
116
113
 
117
- End If
118
114
 
115
+ Const doc_path As String = "C:\xxxxxxxxxx\sample.docx"
116
+
117
+ Const csv_path As String = "C:\xxxxxxxxxx\sample.csv"
118
+
119
+
120
+
121
+ With adoSt
122
+
123
+ .Charset = "UTF-8"
124
+
125
+ .LineSeparator = adLF
126
+
127
+ .Open
128
+
129
+
130
+
131
+ Dim par As Paragraph
132
+
133
+ With Documents.Open(doc_path)
134
+
135
+ ActiveDocument.ActiveWindow.Visible = False
136
+
137
+ For Each par In ActiveDocument.Paragraphs
138
+
139
+ If par.OutlineLevel <> wdOutlineLevelBodyText Then
140
+
141
+ out = par.OutlineLevel & "," & Replace(par.Range.Text, vbCr, "")
142
+
143
+ adoSt.WriteText out, adWriteLine
144
+
145
+ End If
146
+
119
- Next par
147
+ Next par
148
+
149
+ End With
150
+
151
+
152
+
153
+ .SaveToFile csv_path, adSaveCreateOverWrite
154
+
155
+ .Close
156
+
157
+ End With
158
+
159
+
120
160
 
121
161
  End Sub
122
162
 

4

ソースコード修正

2020/04/15 04:09

投稿

kumataro_
kumataro_

スコア5

test CHANGED
File without changes
test CHANGED
@@ -100,23 +100,23 @@
100
100
 
101
101
  ```vba
102
102
 
103
- Sub すべての見出しの文字列を取得する()
103
+ Sub すべての見出しの文字列を取得する_()
104
104
 
105
-  Dim par As Paragraph
105
+ Dim par As Paragraph
106
106
 
107
-  For Each par in ActiveDocument.Paragraphs
107
+ For Each par In ActiveDocument.Paragraphs
108
108
 
109
-   If par.OutlineLevel <> wdOutlineLevelBodyText Then
109
+ If par.OutlineLevel <> wdOutlineLevelBodyText Then
110
110
 
111
-    Debug.Print _
111
+ Debug.Print _
112
112
 
113
-      par.OutlineLevel & vbTab & _
113
+ par.OutlineLevel & vbTab & _
114
114
 
115
-      Replace(par.Range.Text, vbCr, "")
115
+ Replace(par.Range.Text, vbCr, "")
116
116
 
117
-   End If
117
+ End If
118
118
 
119
-  Next par
119
+ Next par
120
120
 
121
121
  End Sub
122
122
 

3

出力側の追記

2020/04/15 01:03

投稿

kumataro_
kumataro_

スコア5

test CHANGED
File without changes
test CHANGED
@@ -87,3 +87,37 @@
87
87
 
88
88
 
89
89
  ![イメージ説明](2ac993a649409d67b2c04e0013d643ac.png)
90
+
91
+
92
+
93
+ ・出力側は以下のURLを参考に作成しております。
94
+
95
+ (出力箇所だけイミディエイトからファイル出力に変更しています。)
96
+
97
+ https://www.relief.jp/docs/word-vba-heading-style-strings.html
98
+
99
+
100
+
101
+ ```vba
102
+
103
+ Sub すべての見出しの文字列を取得する()
104
+
105
+  Dim par As Paragraph
106
+
107
+  For Each par in ActiveDocument.Paragraphs
108
+
109
+   If par.OutlineLevel <> wdOutlineLevelBodyText Then
110
+
111
+    Debug.Print _
112
+
113
+      par.OutlineLevel & vbTab & _
114
+
115
+      Replace(par.Range.Text, vbCr, "")
116
+
117
+   End If
118
+
119
+  Next par
120
+
121
+ End Sub
122
+
123
+ ```

2

画面キャプチャを追記しました。

2020/04/15 00:46

投稿

kumataro_
kumataro_

スコア5

test CHANGED
File without changes
test CHANGED
@@ -83,3 +83,7 @@
83
83
  b'3,(5)\xe8\xa6\x8b\xe5\x87\xba\xe3\x81\x97\xef\xbc\x95'
84
84
 
85
85
  b'3,(5)\u898b\u51fa\u3057\uff15'
86
+
87
+
88
+
89
+ ![イメージ説明](2ac993a649409d67b2c04e0013d643ac.png)

1

タイトル変更、初心者マーク付与

2020/04/15 00:28

投稿

kumataro_
kumataro_

スコア5

test CHANGED
@@ -1 +1 @@
1
- 謎の文字を解読して検出・削除したいです。
1
+ 謎の文字を解読して検出・削除したいです。(python)
test CHANGED
File without changes