tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルEXCELのブックの追加順について
記事No6550
投稿日: 2007/11/13(Tue) 17:44
投稿者まつ
はじめまして。お世話になります。
VB2005にて、
データベースから取得したデータをEXCELに印刷するプログラムを作っています。
EXCELへ書き込む際に、
あるタイミングでブック内のシートを追加していき、
1つのブック内のシート数が10枚を越えたら、
新しいブックを開き、書き込みを行う処理を記述しています。
(※ 処理内容は下記に記述しております。)
全てのデータを書き終えた後、
1番目のブックをプレビュー状態で表示させ、
後のブックはタスクバーに表示されている状態にしているのですが、
全てで3つのブックがある場合、タスクバーでの表示順が、
「3つ目のブック」「2つ目のブック」「1つ目のブック」の順番になってしまいます。
理想としては、1・2・3の順番で表示させたいと思っています。

EXCELへの書き込みを行なう時、
予め xlApp.visible = true としておくと、1・2・3の順番になるのですが、
書き込み後、 xlApp.visible = true としても、上記の様な順番になってしまいます。

どのように記述すれば、
ブックを開いた順番で、タスクバーに表示されるのでしょうか?
どなたかお分かりになる方がいらっしゃったら、御教え下さい。
宜しくお願い致します。

<処理内容>

    '◆ テンプレートファイルを開く
    Dim xlApp As New Excel.Application
    Dim xlBooks As Excel.Workbooks = xlApp.Workbooks
    Dim xlBook As Excel.Workbook = xlBooks.Open("ファイル名")

    Dim xlSheets As Excel.Sheets = xlBook.Worksheets
    Dim xlSheet As Excel.Worksheet = xlBook.Worksheets("シート1")

    '◆ EXCELのシート数を初期化
    Dim EXCEL_SHEET_COUNT As Long
    EXCEL_SHEET_COUNT = 0

    '◆ データの書き込み
    For i As Integer = 0 To dataset.Tables(0).Rows.Count - 1

        '◆ シート数が10を越えた時
        If EXCEL_SHEET_COUNT >= 10 Then

            '◆ テンプレートファイルを開く
            xlBooks = xlApp.Workbooks
            xlBook = xlBooks.Open("ファイル名")

            xlSheets = xlBook.Worksheets
            xlSheet = xlBook.Worksheets("シート1")

            '◆ EXCELのシート数を初期化
            EXCEL_SHEET_COUNT = 0

        End If

        〜EXCELへの書き込み処理〜

    NEXT i

    '◆ EXCELを表示
    xlApp.Visible = True

    '◆ 一つ目のブックを選択
    xlBook = xlBooks.Item(1)
    xlSheets = xlBook.Worksheets
    xlSheet = xlBook.Worksheets.Item(xlBook.Worksheets.Count)

    '◆ プレビュー表示をする
    xlBook.Worksheets.PrintPreview()

[ツリー表示へ]