もくじ
Wordで改行後文字がずれる原因と対処法!VBAで一括解消!
Wordで改行後に文字がずれてしまい、なおそうにもなかなかなできずイライラするときはないでしょうか。
けど、そんな中で悩むことは、
・改行後の文字ずれを修正したいが方法がわからない。
・改行後の文字ずれをまとめて修正する方法が知りたいが方法がわからない。
ですよね。
今回はそんなお悩みを解決する
Wordで改行後文字がずれる原因と対処法とVBAで一括解消する方法について
まとめます!
Wordで改行後に文字がずれるイメージ
Wordで改行後に文字がずれてしまうイメージについて説明をします。
文章作成中に位置決めでスペースやタブなど入れます。
改行するとその位置から改行されていきます。
また文字によってはスペースが入ってしまっている場合があります。
それら原因と対処法について説明をします。
Wordで改行後文字がずれる原因①「タブインデントを使用している」
Wordで改行後文字がずれる原因①はタブインデントを使用しているためとなります。
キーボードのTabを押したときにタブが挿入され、改行以降もタブの位置と同じところに改行されていきます。
Wordで改行後文字がずれる原因①「タブインデントを使用している」の対処法
Wordで改行後文字がずれる原因①「タブインデントを使用している」の対処法は、インデントが挿入されている文字を選択し、ホームタブのインデントを減らすをクリックするか、
すべての書式をクリアするをクリックします。
はい、インデントが削除されましたね。
Wordで改行後文字がずれる原因②「全角スペースを字下げにする設定をしている」
Wordで改行後文字がずれる原因②はスペースを字下げにする設定をしているためとなります。
タブの時と同じように文字列の頭に全角スペースをいれて改行すると2行名以降もスペース幅と同じ箇所で改行されるようになります。
Wordで改行後文字がずれる原因②「全角スペースを字下げにする設定をしている」の対処法
Wordで改行後文字がずれる原因②「全角スペースを字下げにする設定をしている」の対処法は全角スペースを字下げにする設定を解除します。
ファイルタブからその他>オプションをクリックします。
左ペインの文章校正をクリックし、右ペインのオートコレクトのオプションをクリックします。
「オートコレクト」ウインドウの入力オートフォーマットタブをクリックします。
入力中に自動で変更する項目の中の「行の始まりのスペースを字下げに変更する」のチェックをはずします。
はい、スペースのインデントが削除されましたね。
Wordで改行後文字がずれる原因③「全角カッコの体裁でスペースが入る設定をしている」
Wordで改行後文字がずれる原因③は全角カッコの体裁でスペースが入る設定をしているためとなります。
Wordで改行後文字がずれる原因③「全角カッコの体裁でスペースが入る設定をしている」の対処法
Wordで改行後文字がずれる原因③「全角カッコの体裁でスペースが入る設定をしている」の対処法は体裁の設定を変更することです。
ホームタブの段落グループの右端にある右下矢印ボタンをクリックします。
体裁タブをクリックし行頭の幅を1/2にするにチェックを入れOKをクリックします。
はい、全角カッコのスペースが修正されましたね。
Word VBAでまとめて改行のずれを修正する
これまで気になる箇所を選択して1つ1つ修正する必要がありましたが、WordVBAを使うとワンクリックですべての修正が一括でできてしまいます。
これが、
こうなります。
早速実装して、使ってみましょう。
まとめて改行のずれを修正するVBA
まとめて改行のずれを修正するVBAは以下の通りです。
Sub 改行ずれをまとめて修正()
Selection.WholeStory 'Word全体を選択します。
Selection.ClearFormatting '書式をクリアします。
Selection.ParagraphFormat.HalfWidthPunctuationOnTopOfLine = True '行頭の幅を1/2にします。
'検索・置換の設定をおこないます。
With Selection.Find
.Format = True 'フォーマット変更を有効する(True)、有効にしない(False)を設定します。
.ClearFormatting '検索条件から書式を削除します。
.Text = "< " '検索ワードを代入します。先頭にある全角スペースが対象です。
.Forward = True '文書に対して末尾の方向(順方向)に検索します。
.Wrap = wdFindContinue '先頭(または末尾)に戻って検索をします。
.MatchWildcards = True ' ワイルドカード検索をします。
.MatchCase = False ' 大文字小文字の区別はしません。
.MatchWholeWord = False '完全一致単語(英)のみ検索します。
.MatchByte = False '半角全角の区別はしません。
.MatchAllWordForms = False '活用形検索はしません。
.MatchSoundsLike = False 'あいまい検索(英)はしません。
.MatchFuzzy = False ' あいまい検索(日)はしません。
End With
'置換を実行(全て置換)します。
Selection.Find.Execute Replace:=wdReplaceAll
MsgBox "改行ずれの修正が完了しました。"
End Sub
VBAを実装する
実装手順は以下の通りです。
①Wordを新規に開き、「開発」タブをクリックし、
「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」+「F11」でもOKです。
②標準モジュールを追加します。
左ペインの「Nomal」を右クリックし、「挿入」、「標準モジュール」を選択します。
③右ペインのウインドウに上記のVBAを入力します。
こちらで完了です。
VBAを実行する
早速VBAの実行をしてみましょう。
①「開発」タブの「マクロ」をクリックし今回実装したマクロを選択し、「実行」をクリックします。
②「改行ずれの修正が完了しました。」が表示されたら、処理結果を確認しましょう。
はい、できていますね。
まとめて改行のずれを修正するVBAの説明
Word全体を選択します。
書式をクリアします。
体裁の設定となります。
行頭の幅を1/2にします。
検索・置換の設定をおこないます。
検索ワードを代入します。先頭にある全角スペースが対象です。
検索オプションの設定となります。
.Wrap = wdFindContinue ‘先頭(または末尾)に戻って検索をします。
.MatchWildcards = True ‘ ワイルドカード検索をします。
.MatchCase = False ‘ 大文字小文字の区別はしません。
.MatchWholeWord = False ‘完全一致単語(英)のみ検索します。
.MatchByte = False ‘半角全角の区別はしません。
.MatchAllWordForms = False ‘活用形検索はしません。
.MatchSoundsLike = False ‘あいまい検索(英)はしません。
.MatchFuzzy = False ‘ あいまい検索(日)はしません。
置換を実行(全て置換)します。
さいごに
いかがでしょうか。
今回は、
Wordで改行後文字がずれる原因と対処法とVBAで一括解消する方法について
まとめました。
また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。
コメントを残す