お仕事で議事録を作成するときに、まずはその場でメモを作成し、あとでWordに清書することがあると思います。
でも、メモからWordに取り込んで書式を整えるのって、結構時間がかかる割に、あまり価値のある作業ではないですよね。
そこで、今回は時短のために、テキストから取り込んだデータのフォーマットを自動的に整えるWord VBAを作成してみました。
1.変換前のWordデータ・イメージ
こちらはテキストの内容をWordに取り込んだ直後のイメージです。見た目は考えず、とりあえず打ち込んでいくとこんな感じになっていると思います。
2.変換後のWordデータ・イメージ
1.の殴り書き状態からVBAを利用することで、以下の状態にフォーマットを整えさせます。
<解説>
1行目の作成日付を右寄せする。
2行目の「議事録」をタイトルとしてセンタリングする。
3行目〜9行目までの「日時:」「場所:」「参加者:」「アクションアイテム:」「次回:」を太字にする。
<解説>
10行目を次ページにした上で「内容:」を太字にする。
3.変換用VBA
そして以下がフォーマット整型用のVBAになります。(素人なので書き方がダサくてすみません。)
Option Explicit Sub editMinuts() With Selection.Find .Text = "2022." .MatchByte = True .Wrap = wdFindContinue .Execute Selection.ParagraphFormat.Alignment = wdAlignParagraphRight End With With Selection.Find .Text = "議事録" .Wrap = wdFindContinue .Execute Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter End With With Selection.Find .Text = "日時:" .Wrap = wdFindContinue .Execute Selection.Font.Bold = True End With With Selection.Find .Text = "場所:" .Wrap = wdFindContinue .Execute Selection.Font.Bold = True End With With Selection.Find .Text = "参加者:" .Wrap = wdFindContinue .Execute Selection.Font.Bold = True End With With Selection.Find .Text = "アクションアイテム:" .Wrap = wdFindContinue .Execute Selection.Font.Bold = True End With With Selection.Find .Text = "次回:" .Wrap = wdFindContinue .Execute Selection.Font.Bold = True End With Selection.Move wdLine, 1 Selection.InsertBreak Type:=wdPageBreak With Selection.Find .Text = "内容:" .Wrap = wdFindContinue .Execute Selection.Font.Bold = True End With End Sub
4.VBAの解説
それではポイントを少し解説しておきます。
なお、かなりアバウトに勉強しながら書いているので、雰囲気で説明している部分があります。
正確にはマイクロソフトの公式サイトなどを読んでください。
最初の方の3〜10行目あたり
With Selection.Find .Text = "2022." .MatchByte = True .Wrap = wdFindContinue .Execute Selection.ParagraphFormat.Alignment = wdAlignParagraphRight End With
<解説>
.Text = “2022.”:データの中から”2022.”を検索します。
.MatchByte = True:上記”2022.”に完全に一致する文字を検索します。(全角などはヒットしないようにしています)
.Wrap = wdFindContinue:1つ見つかっても、次を見つけにいきます。
.Execute:検索を実行します。
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight:見つかったら、それを含む行を右寄せします。
下から8〜9行目あたり
Selection.Move wdLine, 1 Selection.InsertBreak Type:=wdPageBreak
<解説>
Selection.Move wdLine, 1:一つ手前の処理で「次回:」まで検索していますので、その下に改ページを入れる為、カーソルを1行進ませます。
Selection.InsertBreak Type:=wdPageBreak:改ページを挿入します。
今回は以上になりますが、今後時間があれば、Wordに表を入れるVBAなどを作成してみたいと考えています。
コメントを残す