- 締切済み
VB.NETでのExcelの印刷について
環境:XP-Pro VisualStudio.NET2003 VB.NET VBAについて。 【1】VB.NETを使ってExcelを表示しないで印刷を行います。 その時に印刷用紙を横にしたいのですが、方法がわかりません。 Excel.Worksheet.Range("A1:N9").Orientation = 例:xlLandscapeなどで 試したのですが、うまくできませんでした。 どなたかご存知でしたら教えて頂けませんか? 【2】それと印刷時にExcelを表示させずに、プレビューを出したいのですが、 PrintPreview()をプログラムに追加したらプレビューが表示されずに 固まってしまいます。 引数などが必要ですか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 Excelを表示させない、っていうのは単に、ブックの Visible =True を しないだけの話ですよね? .Net は良くわかりませんが、 xlSheet.PrintOut を、単に xlSheet.PrintOut Preview:=True 'にするか、 xlSheet.PrintPreview に置き換えれば問題はないのではありませんか?そのPrintOut と、PrintPreview 併記というのは、ありえないと思います。単に、Preview 画面を出すなら、そこで、ユーザー選択で「印刷」するかしないか、だけになるのだと思います。 結局、Preview は、ある意味ダイアログモードになってしまうからだと思います。
- O_cyan
- ベストアンサー率59% (745/1260)
【1】印刷する前にセットしてはどうでしょうか? Dim xlSheet As Excel.Worksheet Set xlSheet = xlBook.Worksheets.Add (途中省略) (印刷の前に) With xlSheet.PageSetup .Orientation = xlLandscape End With xlSheet.PrintOut xlApp.Quit Set xlSheet = Nothing 【2】下記を追加してどうでしょう? xlSheet.PrintPreview '印刷プレビューを表示
お礼
早速の回答ありがとうございます。 【1】は大成功でした。非常に助かります。 【2】は、使用しているんですが固まってしまうんです。
補足
解説のあるHP等、ご存知でしたら教えて頂けないでしょうか。 よろしくお願いします。