どのように対して繰り返し処理を実行するすべてのページをブレイクエクセル2003年のワークシートによCOM

StackOverflow https://stackoverflow.com/questions/78053

質問

いを取り出そうとすると、すべてのページの改与えられたExcel2003年のワークシートに渡します。この例のようなことがいえるでしょう思い:

Excel::HPageBreaksPtr pHPageBreaks = pSheet->GetHPageBreaks();
long count = pHPageBreaks->Count;
for (long i=0; i < count; ++i)
{
  Excel::HPageBreakPtr pHPageBreak = pHPageBreaks->GetItem(i+1); 
  Excel::RangePtr pLocation = pHPageBreak->GetLocation();

  printf("Page break at row %d\n", pLocation->Row);

  pLocation.Release();
  pHPageBreak.Release();
}
pHPageBreaks.Release();

そのイメージを印刷する場合は、行番号のそれぞれの水平のページをブレイク pSheet.の問題なんですが count 正の数を表示ページのブレイク、ワークシート、ことができるように取得するのです。第二のループ呼び出し pHPageBreaks->GetItem(i) が例外をスローし、エラー番号0x8002000b,"無効なインデックス".

を使用しようとしている pHPageBreaks->Get_NewEnum() を列挙子に対して繰り返し処理を実行するコレクションでの不同じエラー、すぐに呼び出 Get_NewEnum().

った頃のようなソリューションに最も近いものがその場で発音を確認することがこれまでは http://support.microsoft.com/kb/210663/en-us.また、活性種々の細胞のページの休憩を含む細胞を越えてすぐのところ範囲を印刷するなどの細胞(IV65536)こんにちは。

自分がその気にさえなればできる方法を教えてくExcelの全てのページのブレイシート、どちらかというと!

お願い致します。

@ジョエル:はい、みを表示するユーザーインターフェイス、およびその後の設定 ScreenUpdating trueに-を生み出したことと同じ。また、私はこう組み合わせの設定 pSheet->PrintArea 全体のワークシートおよび/または電話 pSheet->ResetAllPageBreaks() 前の呼び出 HPageBreaks コレクションにもなります。

@ジョエル:に使用しました pSheet->UsedRange を決定する連続スクロールは、Excelはスクロールの過去のすべての横の休憩していると思う解決しようアクセスした。残念ながら、スイッチングExcel2007年はなかった.

役に立ちましたか?

解決

実験Excel2007年からVisual Basicこのページの休みん知られていない限り、画面に表示されます。

の回避策で見たページに書かれた小石が転がり落ち、トップシートの最終行を含むデータです。すでに列挙すべてのページをブレイクがあります。

こちらVBAコー---私の場合は問題に変換するこCOM:

Range("A1").Select
numRows = Range("A1").End(xlDown).Row

While ActiveWindow.ScrollRow < numRows
    ActiveWindow.LargeScroll Down:=1
Wend

For Each x In ActiveSheet.HPageBreaks
    Debug.Print x.Location.Row
Next

このコードを作の簡素化と仮定し

  • 使用した。末xlDown)メソッドなどのデータが...こす連続したデータからA1最下位に設定が行えます。欲しいと思わなければ、気を使用する必要がありその他の方法にかくスクロールします。

他のヒント

いましたかの設定ScreenUpdatingをTrueに指摘したように、このようKB。

また、実際に切り替えで実力画面塗り替え.そのような計算のページのブレーキ側面の効果の実際のレンダリングのページからではなくExcelな需要ですから、トリガーのページをレンダリング画面に表示します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top