スポンサーリンク
※サイト運営にサーバーは必須です※
~ ロリポップ! はコスパのよい初心者向けサーバーです~
はじめに
日本語の文章には、色々なルールがある。
そのうちの一つが、段落が変わった時に、1文字下げないといけない。
ただし、カギかっこ(「」)はこのルールの適用外とする。
……んで、Wordで文書を書いたときにいちいちこのルールを手動で適用していくのはなかなか面倒だと感じた。
そもそも文章を下書きしている段階では、後々修正が入ることも考えて1文字下げする人はほとんどいない。
大量の文章を書いた後に、カギかっこ(「」)以外の文書を一文字下げる作業ほどむなしものはない。
主に小説のような物語用の文章を書いていると直面する問題だ
そこで、賢い方法がないか探して見つけたサイトが以下のサイト
外部サイト:「Wordでマクロを使って1文字下げる」
このサイトでは、基本的には1文字下げるが、かぎ括弧のときは下げないようにするためのマクロを紹介している。
非常に便利で、愛用して使っている。
だが、不満点がないわけでもない。
「」以外にも『』などもルール外適用外にしてほしいと感じた。
んで、調べてみたら、これも実は解決されていて、Yahoo知恵袋で対処法がかかれている
外部サイト:
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14114785764
Yahoo知恵袋ではカギかっこ(「」)に加えて二重鍵かっこ(『』)も処理できるようなマクロが紹介されていた
個人的には、さらに単なるマルかっこ()も適用したいと思った。
以下で紹介するのは上のマクロを参考にして、+αで自分用にいじったマクロ
自動的に1文字分下げるマクロ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Sub 全自動1字下げ() Dim i As Long Dim fsnormal As Single, fsfirst As Single fsnormal = ActiveDocument.Styles(wdStyleNormal).Font.Size For i = 1 To ActiveDocument.Paragraphs.Count Select Case ActiveDocument.Paragraphs(i).Range.Characters(1) Case Is = "「", "『", "(" fsfirst = 0 Case Else fsfirst = fsnormal End Select ActiveDocument.Paragraphs(i).Range.Select With Selection.ParagraphFormat .LeftIndent = 0 .FirstLineIndent = fsfirst End With Next i End Sub |
※このコードをコピーするときは、右上の5つの項目の内、左から4番目を選べば簡単にコピーできる
Wordでマクロを導入する方法
ワードでマクロを登録する方法がわからない場合は以下の記事を参照
Wordでマクロを登録して実行する手順
~ギャンブルに絶対儲かる必勝法があるのだろうか?~
私(サイト主)はこの疑問に対して非常に興味を持ち、プログラミングで検証してみました。
このサイトを応援してもいいかなと思う人はぜひとも購入を検討してみてください。
コメント