回答編集履歴
1
追記
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
|
+
とりあえず参考まで。
|