タイトル | : EXCELファイル一括印刷について |
記事No | : 498 |
投稿日 | : 2003/10/27(Mon) 15:36 |
投稿者 | : あずまん |
[OSのVer]:WindowsXP [VBのVer]:VB.NET はじめまして。いつも有意義に活用させてもらっています。 行き詰まった事があり、どなたかお教え頂けたら、と思います。
VB.NETにてあるフォルダ内のEXCELファイル(250前後、一ファイル あたり2〜70ページ、合計約2,000ページ分)を一括印刷しようとしています。 ※処理内容は下記をご覧下さい。 実行したところ、130ファイルあたりでエラーが発生、処理が中断してしまいます。 処理自体は問題なく、スプール・メモリの関係かと思われるのですが。 解決策として以下方法を考えたのですが、 「印刷指示のループの中で現在発行されている印刷キュー数を取得し、 例えばそれが30を越えたら10以下になるまで処理待ちをさせる」 といったことは可能でしょうか? 「キュー数を取得する」具体的な処理記述が分からなかったので...。
すみませんが宜しくお願いします。
※以下処理、変数宣言やテーブル抽出等は省いてあります。 '特定テーブルが存在する間ループさせる Do Until objOradb.Eof = True 'Excelファイル名を取得 strXlsName = strDirName & "\" & CStr(objOradb.Fields("送付先 番号").value) & ".xls"
'Excelファイルが存在すれば印刷指示処理を実行する If System.IO.File.Exists(strXlsName) Then
'出力 xlAPP = CType(CreateObject("Excel.Application"), Object) xlBook = CType(xlAPP.Workbooks.Open(strXlsName), Excel.Workbook) xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet)
'−−−−−−−−−−−−−−−−−−−−−−−− '印刷処理件数により処理を一時停止する処理を追加? '−−−−−−−−−−−−−−−−−−−−−−−−
'ブック内全シートを印刷 xlBook.Sheets.PrintOut()
'Excelを閉じる xlAPP.Quit()
xlSheet = Nothing xlBook = Nothing xlAPP = Nothing End If
objOradb.MoveNext() Loop
|