teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2018/01/18 00:23

投稿

ttyp03
ttyp03

スコア17002

answer CHANGED
@@ -4,4 +4,12 @@
4
4
  rangeS = Worksheets("Sheet1").PageSetup.PrintArea ''印刷範囲を取得
5
5
  ```
6
6
  teratailではActiveSheetを使っている人を良く見ますが、シートがアクティブなことを前提に処理しないといけないので、タイミングによってはシビアなシーンもあります。
7
- できる限り上記のようにシートオブジェクトを直接使用した方が良いでしょう。
7
+ できる限り上記のようにシートオブジェクトを直接使用した方が良いでしょう。
8
+
9
+ 追記に関して
10
+ 印刷範囲ではなく改ページプレビューで表示される範囲というオチですか。
11
+ [ここ](http://www.excel.studio-kazu.jp/kw/20140526081901.html)のページで試行錯誤した方々がいたようですが、解決はしていないようですし、私も調べた限りでは無理そうでした。
12
+ ワークシートにHPageBreaksプロパティがあり改ページの情報を持っていますが、1ページしかないときは設定されないので使えませんでした(質問内容から察すると1ページかと思いましたので)
13
+ 複数ページあるときは設定されますが、2ページ目以降の先頭(左上位置)しか取れないようですので、範囲を求めるには厳しそうです。
14
+ 他にも有益なプロパティはあるかもしれませんが、そこまで調べきれておりません。
15
+ とりあえず参考まで。