tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル EXCELファイル一括印刷について
投稿日: 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

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。