dポイントプレゼントキャンペーン実施中!

環境:XP-Pro  VisualStudio.NET2003 VB.NET

VBAについて。
【1】VB.NETを使ってExcelを表示しないで印刷を行います。
その時に印刷用紙を横にしたいのですが、方法がわかりません。
Excel.Worksheet.Range("A1:N9").Orientation = 例:xlLandscapeなどで
試したのですが、うまくできませんでした。
どなたかご存知でしたら教えて頂けませんか?

【2】それと印刷時にExcelを表示させずに、プレビューを出したいのですが、
PrintPreview()をプログラムに追加したらプレビューが表示されずに
固まってしまいます。
引数などが必要ですか?

A 回答 (2件)

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

この回答への補足

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

補足日時:2005/07/29 21:13
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
【1】は大成功でした。非常に助かります。

【2】は、使用しているんですが固まってしまうんです。

お礼日時:2005/07/29 20:36

こんばんは。



Excelを表示させない、っていうのは単に、ブックの Visible =True を
しないだけの話ですよね?

.Net は良くわかりませんが、


xlSheet.PrintOut を、単に

 xlSheet.PrintOut Preview:=True 'にするか、

 xlSheet.PrintPreview

に置き換えれば問題はないのではありませんか?そのPrintOut と、PrintPreview 併記というのは、ありえないと思います。単に、Preview 画面を出すなら、そこで、ユーザー選択で「印刷」するかしないか、だけになるのだと思います。

結局、Preview は、ある意味ダイアログモードになってしまうからだと思います。
    • good
    • 0

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