プロが教えるわが家の防犯対策術!

EXCELのプログラミングで質問があります。
EXCELでドキュメントを開き、印刷プレビューを表示し印刷プレビューのズームを変更のですが、印刷プレビューのズームをプログラムから操作することは可能でしょうか?できれば75%とか%で指定したいのですがEXCELのUIからは「拡大/縮小」の2段階しかないようなので その2段階だけのコントロールでも結構です。
また同じことをWord,PowerPointでも行いたいです。

ご教授お願いいたします。

WinXP, Windowsアプリ, C#(またはC++), VS.NET2005、, EXCEL2003とEXCEL2007です。

A 回答 (1件)

Excelの場合の印刷プレビューはモーダルになってしまうので外部からの操作が不能なように思われます


また、倍率はページ設定による表示が行われるようです
マクロの記録などを実行してどのようなコードを生成するか確認してみましょう
倍率指定をページ設定のPageSetupのZoomでやる方法もありますがこれは印刷結果へも影響を及ぼしてしまうのでご希望の動作ではないでしょう
改ページプレビューモードでしたら Excelの表示 > ズームで倍率は変更できそうです

Wordの場合はモードレスでの表示をするようです
倍率の変更は Viewオブジェクトを取得してこれのZoom.Percentageを変更すればいいようです

PPTは調べていません

C#などマネージ環境から ExcelやWordなど外部のアンマネージオブジェクトを操作する場合 暗黙的な参照を作らないような工夫が必要です
これを怠ると アプリケーションは終了したが Excelのタスクが残ってしまいメモリ環境などの悪化を招く場合があります

VSTO(Visual Studio Tools For Office)を使った開発のほうがこのようなマーシャリングに悩まずに済む場合があります
    • good
    • 0
この回答へのお礼

どうもありがとうございます。
VSTO使ってみたいと思います。

お礼日時:2008/07/04 09:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!