[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『横方向のページ数を固定したときの拡大/縮小率を求めるには?』(x11euser)
印刷設定で横方向1ページに収まるように設定したときの拡大/縮小率を求めるにはどうしたらよいのでしょうか。
ちなみに、横方向を1ページ、縦方向を指定しないで設定し、下記コマンドを実行したところ、xZoom=Falseが返ってきてしまいました。
For Each xSheet In Worksheets xSheetname = xSheet.Name With xSheet.PageSetup xZoom = .Zoom xPagesTall = .FitToPagesTall xPagesWide = .FitToPagesWide End With Next
EXCEL2003、WindowsXPです。 よろしくお願いします。
FitToPagesTall/FitToPagesWideプロパティを優先すると ZoomプロパティはFalseになってしまう排他関係にあります。 zoomが設定してあってもそれを無視して縦横の設定にあわせて 印刷するのを優先させる仕組みのようです。 「横1ページに納まっている状態が何パーセントのズームなのか」 を求めるプロパティではないと考えてください。 これを求めるには、改ページプレビューで横改ページがなくなるように 改ページのドラッグ操作をした上でページ設定を確認する以外にないように 思えます。 (みやほりん)(-_∂)b
Google 様へお伺いを立てた結果ですが、 「ExcelVBAで印刷設定の拡大率を取得する方法」で検索すると参考例が見つからないでしょうか。 MsgBox ExecuteExcel4Macro("Get.Document(62)") (Mook)
重要なのは ExecuteExcel4Macro("Get.Document(62)") じゃなくて
ExecuteExcel4Macro "Page.Setup(,,,,,,,,,,,,{#N/A,#N/A})" で、次のページ数に合わせて印刷から拡大/縮小に切り替えることじゃないかな? 切り替えちゃえば .Zoomでも求められるよ。 ただ、設定そのものが変更されるからもし必要だったら値を求めた後で元の設定に直しとかないとならないけど。 (春日野馨)
本質問では既にページ設定はできていると解釈したので、表示部だけを書きました。 提示の仕方に問題があったら、そこは検索を示唆しただけということでご容赦を。
ですので PageSetup と ExecuteExcel4Macro の組み合わせに問題ないかはご自身で ご確認ください。 (Mook)
ExecuteExcel4Macro "Page.Setup(,,,,,,,,,,,,{#N/A,#N/A})" でFitToPagesTall/FitToPagesWideプロパティを無効にして ExecuteExcel4Macro("Get.Document(62)") で拡大/縮小率を求めるということですね。
ExecuteExcel4Macroは今までほとんど使ったことがなかったのですが 勉強してみます。
ありがとうございました。 (x11euser)
あら、春日野馨さんへの返信もピンボケだったかな。 どうもすみません。 (Mook)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.