Excelシートのページ数取得

こんにちは。いつも勉強させて頂いております。

今回質問させて頂きたいのは表題どおり、Excelシート(とりあえず1シート)のページ数取得方法になります。
最低限、安定性を無視すれば、Excelを開いた後のGUI操作で印刷プレビューを表示
→下部表示ページ数の分母部分の文字列を取得・・で出来そうな気配はしているのですが、
処理時間もかかるしGUI操作失敗のリスクがあるので、できればこの方法は回避したいと思っています。

GUI操作を伴わない手段でページ数を取得する方法がありましたら、ご教示頂きたく。
よろしくお願いいたします。

ページ数取得は長年の宿題ですね。VBAの世界でも難しい感じですね。プリンタドライバに依存するので。。。

VBA的には、HPageBreakなどのページに関する情報を駆使していました。

それでも正確には求められず…

1 Like

こんにちは

現状の設定でのvbaの出力で良ければ、 Sheet.PageSetup.Pages.Count で良いのでは?

Sample20210908-1.zip (16.5 KB)

1 Like

ご返信ありがとうございます。
テストしてみた感じ、開いた時点での印刷設定におけるページ数が求められればOKなので
これでいけそうです!
早速組み込んでみます。

1 Like

ご返信ありがとうございます。
ちょっとググってみた感じWorksheet.HPageBreak(n).Locationで改ページの位置を探っていって
エラーになったらそこでnのカウントアップストップ・・という感じでしょうかね。
こちらもちょっと挙動を試してみます。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.