* 告発状の見出しを一覧としてCSVファイルに書き出しするWordのVBAマクロ
作成したのは昨日の午前中だったと思います。Linuxで作成した告発状本文のテキストをWindows10の一太郎に貼り付けるのが目的でした。
```
Sub エントリーの見出しをCSVファイルに書き出し()
Dim lv1 As String
Dim lv2 As String
Dim lv3 As String
Dim lv4 As String
Dim lv5 As String
Dim i As Integer
i = 1
Dim datFile As String
Const F_PATH = "C:\Users\hirono\OneDrive\list.csv" ' 出力ファイルのフルパス
Dim f_num As Integer ' ファイル番号
f_num = FreeFile
Open F_PATH For Output As f_num
For Each par In ActiveDocument.Paragraphs
If par.OutlineLevel <> wdOutlineLevelBodyText Then
Select Case par.OutlineLevel
Case 1
'MsgBox "小学生です"
Case 2
'MsgBox "中学生です"
Case 3
'MsgBox "高校生です"
Case 4
i = i + 1
Case 5
i = i + 1
Case Else
'MsgBox "入力が不正です"
End Select
End If
Next par
Dim max As Integer
max = i
i = 0
Dim entryies() As String
ReDim entryies(max)
For Each par In ActiveDocument.Paragraphs
If par.OutlineLevel <> wdOutlineLevelBodyText Then
title = Replace(par.Range.Text, vbCr, "")
If par.OutlineLevel = 1 Then
lv1 = title
End If
If par.OutlineLevel = 2 Then
lv2 = title
End If
If par.OutlineLevel = 3 Then
lv3 = title
End If
If par.OutlineLevel = 4 Then
lv4 = title
End If
If par.OutlineLevel = 5 Then
lv5 = title
End If
Select Case par.OutlineLevel
Case 1
'MsgBox "小学生です"
Case 2
'MsgBox "中学生です"
Case 3
'MsgBox "高校生です"
Case 4
i = i + 1
entryies(i) = lv1 & "," & lv2 & "," & lv3 & "," & lv4
Case 5
i = i + 1
entryies(i) = lv1 & "," & lv2 & "," & lv3 & "," & lv4 & "," & lv5
Case Else
'MsgBox "入力が不正です"
End Select
'Selection.TypeText par.OutlineLevel & title & vbCr
End If
Next par
For i = 0 To max
'Selection.TypeText Var
Print #f_num, entryies(i)
Debug.Print entryies(i)
Selection.TypeText entryies(i) & vbCr
Next i
Close #f_num
End Sub
```
以前作成したものに手を加えていますが,カンマ区切りのCSVファイルとしました。これをExcelで開き,xlsxという拡張子のExcel形式で保存しました。これはそのままLinuxのLibreOfficeで扱えます。
▶▶▶ kk_hironoのリツイート ▶▶▶
- RT kk_hirono(刑事告発・非常上告_金沢地方検察庁御中)|s_hirono(非常上告-最高検察庁御中_ツイッター) 日時:2020-09-07 11:47/2020/09/06 09:25 URL: https://twitter.com/kk_hirono/status/1302800705799954433 https://twitter.com/s_hirono/status/1302402602953367552
2020-09-06-091949_Wordマクロで作成した見出しの一覧CSVファイル.jpg https://t.co/PmDz6fpQLF
▶▶▶ kk_hironoのリツイート ▶▶▶
- RT kk_hirono(刑事告発・非常上告_金沢地方検察庁御中)|s_hirono(非常上告-最高検察庁御中_ツイッター) 日時:2020-09-07 11:47/2020/09/06 09:37 URL: https://twitter.com/kk_hirono/status/1302800715677540353 https://twitter.com/s_hirono/status/1302405430337966082
2020-09-06-093612_告発状項目一覧エクセルファイル.jpg https://t.co/3wR9voT7an
▶▶▶ kk_hironoのリツイート ▶▶▶
- RT kk_hirono(刑事告発・非常上告_金沢地方検察庁御中)|s_hirono(非常上告-最高検察庁御中_ツイッター) 日時:2020-09-07 11:48/2020/09/06 11:03 URL: https://twitter.com/kk_hirono/status/1302800771214311424 https://twitter.com/s_hirono/status/1302427294745554946
2020-09-06-095821_LibreOfficeの告発状項目一覧エクセルデータ.jpg https://t.co/FfMFnNtRnv
LibreOfficeのワープロソフトWriteのマクロで不具合が出たのが思案の始まりになります。段落をツイートするマクロですが,ファイルサイズが大きくなるのが原因なのか,その場で処理されなくなり,アプリの終了時にまとめて実行されるという問題です。
告発状本文の作成は,LinuxのEmacsをメインに,Mewというメールソフトの活用を考えています。gmailの送受信になります。このあと,Windows10のWSL2でもMewを使えるようにやってみたいと考えています。
0 件のコメント:
コメントを投稿