Excel 2007 および Excel 2010 で Pages.Count プロパティを取得すると実際の印刷総ページ数と異なる値を取得する

現象
Microsoft Office Excel 2007 および Microsoft Excel 2010 で、印刷ページ数を取得するために Pages.Countプロパティを取得すると、以下のような条件において、実際の印刷総ページ数と異なる値が取得されます。
  1. 改ページを跨ぐように図形や画像を配置し、標準ビューで保存しているブックを開いた直後に Pages.Count を取得すると、行または列方向分の余分な空白ページが加算され、期待する値が取得できません。
  2. 以下の条件をすべて満たすワーク ブックを開いた直後に、Pages.Count を取得すると、期待する値が取得できません。
    • [ページ設定] 画面の [次のページ数に合わせて印刷] の、[横] ボックスに "1" が設定されていて、[縦] ボックスが空欄である
    • 印刷範囲が設定されている
    • 印刷範囲外にデータやセルの罫線が設定されている
  3. 標準ビューでワークブックを開き、改ページの表示を行わない設定になっている、かつ、最後のセルを表示したことがない状態で、Pages.Count を取得すると、期待する値が取得できない場合があります。直前の編集状態に依存したり、入力されている文字列がセルをはみ出して存在する場合などのさまざまな状況に応じて取得する値が異なります。
なお、上記以外にも Pages.Count を実行する時のビューの種類やページ設定によって、期待する値が取得できない場合があります。
回避策
この現象を回避するには、[改ページ プレビュー] 表示にした状態で、Pages.Count を取得してください。

注 : Excel 2007 で、印刷範囲から Shape などのオブジェクトがはみ出している状態の場合は、回避できない場合があります。
状況
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細

問題の再現手順 1

  1. [Sheet1] の A1 セルと J1 セルに、任意の値を入力します。
  2. 任意の Shape を B58:D62 に配置します。

    補足 : デフォルトのページ設定の場合、59 と 60 行の間に改ページが入るので、それを跨ぐように Shape を配置します。
  3. ファイルを保存します。
  4. ファイルを開いて、イミディエイト ウィンドウで以下のコマンドを実行します。

    ?Worksheets(1).PageSetup.Pages.Count

結果 1

印刷総ページ数として、4 が返りますが、正しくは 3 です。

問題の再現手順 2

  1. [Sheet1] の A1:K65 に任意のデータ、またはセルの罫線を設定します。
  2. A1:I65 を印刷範囲に設定します。
  3. [ページ設定] の [次のページ数に合わせて印刷] で、[横] ボックスに 1 を入力し、[縦] ボックスを空欄にします。
  4. ファイルを保存します。
  5. ファイルを開いて、イミディエイト ウィンドウで以下のコマンドを実行します。

    ?Worksheets(1).PageSetup.Pages.Count

結果2

印刷総ページ数として、1 が返りますが、正しくは 2 です。
Proprietà

ID articolo: 2439589 - Ultima revisione: 10/04/2016 14:44:00 - Revisione: 4.0

Microsoft Excel 2010, Microsoft Office Excel 2007

  • kbharmony kbexpertiseinter kbexpertiseadvanced kbtshoot kbbug kbnofix KB2439589
Feedback