Excelvbaで、Word文書の総ページ数を取得しています。
ある特定の文書ファイルの総ページ数が、ExcelvbaとWordVBaで違うという場面に遭遇しました。
原因を特定する調査方法をご教示願います。
Excelvbaで取得した総ページ数は、13
WordVbaで取得した総ページ数は、11
実体は、11
問題のファイルは、内容は全く変更せずに、
.docを.docxで保存したものです。
.docの総ページ数は、Excelvba、Wordvbaともに、11です。
構造的には、10ページ目にExcelWorksheetへのリンクが設定されています。
このオブジェクトは、Excelの対象セル範囲をコピーし、Wordがでリンク貼り付けしています。
10ページ目のレイアウトは
2行の段落があり、2行目の段落の後に「改ページ」があります。
1行目と2行目の間にWorksheetオブジェクトを貼り付けています。(手作業)
貼付け時点では、
10ページ目:1行目の段落
11ページ目:Worksheetオブジェクト
12ページ目:2行目の段落
と3ページに分割されてしまうため、手作業で
Worksheetオブジェクトのサイズを調整して、1ページに収めるようにしています。
これは、.doc形式でも行っていたことです。
総ページ数取得コード
Excelvba
Pcnt = wdDoc.Range.Information(wdNumberOfPagesInDocument)
または
Pcnt = wdApp.Selection.Information(wdNumberOfPagesInDocument)
WordBA
Pcnt = Selection.Information(wdNumberOfPagesInDocument)
総ページ数取得コードが間違っているとは、思えないので、
docとdocxの非互換かな?とも思っています。
何らかの対処方法があれば、アドバイスをお願いします。