Word (VBA)

Word VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : 指定なし)
セクション数の取得について
投稿日時: 20/09/07 18:41:07
投稿者: WinArrow
投稿者のウェブサイトに移動

Office2019です。
 
差込印刷で作成した文書の再印刷のVBAを作成しています。
 
元の文書が1ページで作成された文書を使って、差込印刷で作成した文書は、セクションごとに1ページで作成されるため、セクション番号を指定して、再印刷する
という仕様を考えていますが、
指定したセクション番号が、文書中に存在しない場合、エラーメッセージを表示したい。
そこで問題となるのは、実際のセクショオン数と、コードで取得したセクション数が異なることです。
実際には、158セクションなのに
ThisDocument.sections.count
では、159が取得されます。
 
また、手操作で、
ページ指定で印刷する指定で
S159
を指定すると
158目
が印刷されます。
勿論、S158お指定すると、158目が印刷されます。
また、S160を指定すると、何のメッセージもなしで終了します。
 
S160(存在しない)セクションを指定してVBAを実行するとフリーズします。
 
質問1
ThisDocument.sections.count
では、実際と違う理由は?
予め−1で考えてよいのか?
 
 
 
 
 

回答
投稿日時: 20/09/08 11:49:33
投稿者: sk

引用:
差込印刷で作成した文書

引用:
元の文書が1ページで作成された文書を使って、差込印刷で作成した文書は、
セクションごとに1ページで作成されるため、セクション番号を指定して、再印刷する

引用:
実際には、158セクションなのに
ThisDocument.sections.count
では、159が取得されます。

最後のページの最後の(空の)段落の 1 つ手前の段落の末尾に
「現在の位置から新しいセクション」とする
セクション区切りが挿入されているため。
(他のページのセクション区切りの種類は
「次のページから新しいセクション」である)
 
引用:
実際と違う理由は?

実際のセクション区切りの数は 159 で間違いなく、
ただその中に「改ページを行なわないセクション区切り」が
1 つ混じっているだけです。

投稿日時: 20/09/08 12:22:15
投稿者: WinArrow
投稿者のウェブサイトに移動

sk さんの引用:

実際のセクション区切りの数は 159 で間違いなく、
ただその中に「改ページを行なわないセクション区切り」が
1 つ混じっているだけです。
 

ご回答ありがとうございました。
最後のセクション区切りに後には、データも入っていないのでページ番号も存在しないことに
なるわけですね?
ページ数との関連でいえば、
取得したセクション数-1で考えること致します。
ありがとうございました。