[[20111017092901]] 『横方向のページ数を固定したときの拡大/縮小率を求x(x11euser) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『横方向のページ数を固定したときの拡大/縮小率を求めるには?』(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)

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.