スポンサーリンク
※サイト運営にサーバーは必須です※
 ~このサイトもエックスサーバー
を使用しています~
   
![]()
はじめに
日本語の文章には、色々なルールがある。
そのうちの一つが、段落が変わった時に、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でマクロを登録して実行する手順
~プログラミングを勉強してみませんか?~
TechAcademy [テックアカデミー] 
 は無料の体験講座が用意されているので、気軽に体験できます。
※私(サイト主)も無料体験講座を実際に受けてみました(→感想)
 
 

コメント