• 締切済み

VB.NETでのExcelの印刷について

環境:XP-Pro  VisualStudio.NET2003 VB.NET VBAについて。 【1】VB.NETを使ってExcelを表示しないで印刷を行います。 その時に印刷用紙を横にしたいのですが、方法がわかりません。 Excel.Worksheet.Range("A1:N9").Orientation = 例:xlLandscapeなどで 試したのですが、うまくできませんでした。 どなたかご存知でしたら教えて頂けませんか? 【2】それと印刷時にExcelを表示させずに、プレビューを出したいのですが、 PrintPreview()をプログラムに追加したらプレビューが表示されずに 固まってしまいます。 引数などが必要ですか?

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 Excelを表示させない、っていうのは単に、ブックの Visible =True を しないだけの話ですよね? .Net は良くわかりませんが、 xlSheet.PrintOut を、単に  xlSheet.PrintOut Preview:=True 'にするか、  xlSheet.PrintPreview に置き換えれば問題はないのではありませんか?そのPrintOut と、PrintPreview 併記というのは、ありえないと思います。単に、Preview 画面を出すなら、そこで、ユーザー選択で「印刷」するかしないか、だけになるのだと思います。 結局、Preview は、ある意味ダイアログモードになってしまうからだと思います。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

【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  '印刷プレビューを表示

you314
質問者

お礼

早速の回答ありがとうございます。 【1】は大成功でした。非常に助かります。 【2】は、使用しているんですが固まってしまうんです。

you314
質問者

補足

解説のあるHP等、ご存知でしたら教えて頂けないでしょうか。 よろしくお願いします。

関連するQ&A