QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

VB.NetからExcelの複数シートを指定して同時に印刷をしたい

初めての書込みですが、いつもお世話になっております。
おはと申します。

現在、VB.Net(VB2005 Express Edition)で開発を行っています
Excelを呼び出してそこから印刷を行っているのですが、
同じブックの2つのシートを指定して印刷処理し、1つの
スプールとして印刷したいのですができません。
※両面印刷対応のプリンタに1つのスプールとして
 印刷してやりたいのがその理由です。

----------------------
xlWorksheet = DirectCast(xlSheets(1), Excel.Worksheet)

・・・(中略)

xlWorksheet.PrintOut()
----------------------

上記要領で、単一シートの印刷はできているのですが、
ワークシートを複数指定するやり方あたりがわかってないです。

環境は下記のとおりです。
[サーバ]
windowsXP
SQL Server

[クライアント]
windowsXP Pro
Excel2000 SP3

ご教授の程よろしくお願い致します。

質問者:おは

回答

おはさんの書き込み (2006-08-17 11:53) より:

xlWorksheet.PrintOut()

上記要領で、単一シートの印刷はできているのですが、

ワークシートを複数指定するやり方あたりがわかってないです。

Excel.Worksheet だけでなく、Excel.Sheets にも Printout メソッドは実装されています。

_________________C# と VB.NET の入門サイト
じゃんぬねっと日誌

投稿者:じゃんぬねっと

編集 履歴 (0)

あ、すいません、いけました。
実際のPrintoutの記述で
ページ数を指定しておりました。
お騒がせしました。
じゃんぬねっとさん、ありがとうございます。

投稿者:おは

編集 履歴 (0)

おはさんの書き込み (2006-08-17 12:39) より:

すいません、上記要領でやってみましたが、1つめのシートしか印刷されませんでした・・・。

そんなことはないハズです。(;^-^)

2 シート目以降の印刷範囲が設定されていないということはありませんか?
プリンタ ドライバによっては、印刷範囲が設定されていても、白紙になる場合は印刷されません。

_________________C# と VB.NET の入門サイト
じゃんぬねっと日誌

投稿者:じゃんぬねっと

編集 履歴 (0)

--------------------------------------------------------------
' EXCEL出力処理
Dim xlApplication As Excel.Application
' エクセルアプリケーションの定義
xlApplication = New Excel.Application()
xlApplication.Visible = True
Dim xlWorkbooks As Excel.Workbooks
' ワークブックの定義
xlWorkbooks = xlApplication.Workbooks
Dim xlWorkbook As Excel.Workbook
' ワークブックを開く(テンポラリファイル)
xlWorkbook = xlWorkbooks.Open(strTmpFile, 0)
Dim xlSheets As Excel.Sheets
' ワークシートの定義
xlSheets = xlWorkbook.Worksheets
' 印刷
xlSheets.PrintOut()
--------------------------------------------------------------
じゃんぬねっとさん、早速回答ありがとうございます。
すいません、上記要領でやってみましたが、1つめのシートしか
印刷されませんでした・・・。

投稿者:おは

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。