3連休です。
午前中は、自治会の役員の方と明日の敬老会の準備をしました。
昨年の敬老会は開催こ出来ましたが、台風18号の襲来で近隣地域でも被害があり大変な日となりましたが、今年は天候には恵まれそうです。
昼からは、娘と本屋さんに行き、戻ると夕方で、2人ともたくさんの本を買ってしまいました。
最近、教室の方には何故か、ExcelのマクロVBAについての受講が立て続けにあります。
で、マクロVBAと言えばExcel(エクセル)が主流の様ですが、Word(ワード)の作業もマクロVBAで自動化すれば結構便利なことに気が付いて試しています。
Word(ワード)では書きの文章を作ることが多いですが、設定を変えれば縦書きにすることも出来ます。
しかし、半角英数字は縦方向にはならず横向きのままです。
これを、縦向きにするには次の方法で一文字ずつ設定する必要があり、数が多いと結構面倒です。
方法








そこで、マクロ(VBA)で一気に変換してみました。
数字を縦中横文字に変換するマクロ(VBA)
Sub 縦中横文字変換()
Dim moji As Range
'文章中の単語をすべてチェックする
For Each moji In ActiveDocument.Words
'半角数字なら
If IsNumeric(moji) Then
'幅を行幅に合わせて縦中横文字に置換する
moji.HorizontalInVertical = wdHorizontalInVerticalFitInLine
End If
Next
End Sub
Dim moji As Range
'文章中の単語をすべてチェックする
For Each moji In ActiveDocument.Words
'半角数字なら
If IsNumeric(moji) Then
'幅を行幅に合わせて縦中横文字に置換する
moji.HorizontalInVertical = wdHorizontalInVerticalFitInLine
End If
Next
End Sub

解説






行幅に合わせたくない場合は、「wdHorizontalInVerticalResizeLine」とします。
簡単なコードになっている分、この方法は全文をしらみつぶしに見ていますので、文章が長いと処理に時間がかかると思います。たぶん。
