• 締切済み

Office EXCEL,Word,PPT印刷プレビュー操作プログラミング

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

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

Excelの場合の印刷プレビューはモーダルになってしまうので外部からの操作が不能なように思われます また、倍率はページ設定による表示が行われるようです マクロの記録などを実行してどのようなコードを生成するか確認してみましょう 倍率指定をページ設定のPageSetupのZoomでやる方法もありますがこれは印刷結果へも影響を及ぼしてしまうのでご希望の動作ではないでしょう 改ページプレビューモードでしたら Excelの表示 > ズームで倍率は変更できそうです Wordの場合はモードレスでの表示をするようです 倍率の変更は Viewオブジェクトを取得してこれのZoom.Percentageを変更すればいいようです PPTは調べていません C#などマネージ環境から ExcelやWordなど外部のアンマネージオブジェクトを操作する場合 暗黙的な参照を作らないような工夫が必要です これを怠ると アプリケーションは終了したが Excelのタスクが残ってしまいメモリ環境などの悪化を招く場合があります VSTO(Visual Studio Tools For Office)を使った開発のほうがこのようなマーシャリングに悩まずに済む場合があります

tangue
質問者

お礼

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

関連するQ&A

専門家に質問してみよう