- PR -

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

1
投稿者投稿内容
おは
会議室デビュー日: 2006/08/17
投稿数: 3
投稿日時: 2006-08-17 11:53
初めての書込みですが、いつもお世話になっております。
おはと申します。

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

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

・・・(中略)

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

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

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

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

ご教授の程よろしくお願い致します。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-08-17 12:17
引用:

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

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


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

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
おは
会議室デビュー日: 2006/08/17
投稿数: 3
投稿日時: 2006-08-17 12:39
--------------------------------------------------------------
' 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つめのシートしか
印刷されませんでした・・・。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-08-17 13:08
引用:

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

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


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

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

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
おは
会議室デビュー日: 2006/08/17
投稿数: 3
投稿日時: 2006-08-17 13:14
あ、すいません、いけました。
実際のPrintoutの記述で
ページ数を指定しておりました。
お騒がせしました。
じゃんぬねっとさん、ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)