【Wordマクロ】ページをまたぐ表を次ページの先頭から開始(その4) | みんなのワードマクロ

みんなのワードマクロ

ワードマクロで、文書作成とオフィス事務を効率化!!

これまで紹介しました「ページをまたぐ表を次ページの先頭から開始(その1) 」、ページをまたぐ表を次ページの先頭から開始(その2) 」、「ページをまたぐ表を次ページの先頭から開始(その3) 」、「ページをまたぐ表を次ページの先頭から開始 」の続きです。


別のアプローチで実行してみようと思います。


前回までの記事で紹介しました方法では、「改ページ」の挿入や段落書式の「改ページ位置の自動修正」機能の、「段落前で改ページする」を用いました。

今回は、段落書式の「改ページ位置の自動修正」機能の、「次の段落と分離しない」を用います。



▼このマクロでできること

本文中のすべての表に対して、段落書式の「改ページ位置の自動修正」機能の「次の段落と分離しない」をオンに設定します。


みんなのワードマクロ


その結果、表がページをまたぐ場合に、次のページの先頭から表示されます。

表に段落設定が加わります。よって、一度設定をすると、表が勝手にレイアウト変更するようになります

例えば、文章作成時に表の行数が増えたり、表のレイアウトが変更されたりして、表がページをまたぎそうになると、リアルタイムで表が次ページ先頭に移動します。

この設定をオンにするマクロ(マクロ1)とオフにするマクロ(マクロ2)を用意しました。



▼マクロの解説

Fore Each ... Nextステートメントの典型的な構文を用いています。

青字部分が、段落書式の「改ページ位置の自動修正」機能の「次の段落と分離しない」に対応します。



▼マクロ1(設定オン)

Sub ページをまたぐ表を次のページ先頭から開始させる_4()

 Dim myTable As Table
 
 For Each myTable In ActiveDocument.Tables
  myTable.Range.ParagraphFormat.KeepWithNext = True
 Next myTable
 
 Set myTable = Nothing

End Sub



▼マクロ2(設定オフ)

Sub ページをまたぐ表を次のページ先頭から開始させる_5()

 Dim myTable As Table
 
 For Each myTable In ActiveDocument.Tables
  myTable.Range.ParagraphFormat.KeepWithNext = False
 Next myTable
 
 Set myTable = Nothing

End Sub





▼関連記事

ページをまたぐ表を次ページの先頭から開始(その1)

ページをまたぐ表を次ページの先頭から開始(その2)

ページをまたぐ表を次ページの先頭から開始(その3)

ページをまたぐ表を次ページの先頭から開始 (手動設定方法)