0

めったに尋ねられず、良い回答が見られないという質問を受け取りました。

VB.NET の非常に単純なコード:

Imports System.Data

Imports System.IO

Imports System.Runtime.InteropServices

Dim anExcelApplicationClass As Microsoft.Office.Interop.Excel.Application

    anExcelApplicationClass = New Microsoft.Office.Interop.Excel.Application
    anExcelApplicationClass.Visible = False
    anExcelApplicationClass.UserControl = False
    anExcelApplicationClass.DisplayAlerts = False
    anExcelApplicationClass.ScreenUpdating = False

    Dim devWorkbooks As Workbooks
    Dim devWorkbook As Workbook
    Dim masterTempWorksheet As Worksheet
    Dim tempWorksheet As Worksheet

    devWorkbooks = anExcelApplicationClass.Workbooks
    devWorkbook = devWorkbooks.Open(DevFilePath, 0, False, 5, "", "", False, XlPlatform.xlWindows, "", True, False, 0, True, False, False)

    Dim tempCounter As Integer = 0
    While tempCounter < 500
        tempCounter = tempCounter + 1
        masterTempWorksheet.Copy(Type.Missing, masterTempWorksheet)
        tempWorksheet = CType(devWorkbook.Sheets(3), Worksheet)
        tempWorksheet.Name = tempCounter.ToString()
    End While

私にとって、255回の反復の後、コードは「Exception de HRESULT : 0x800A03EC」というかなり役に立たないエラーで失敗します。

調査の結果、これがワークシート数の制限であると言う人もいましたが、実際の制限はなく、実際の制限は単にシステムに基づいていると示唆する人もいます。

注: ここで提案されているように、保存して閉じてから、いくつかの反復後にワークシートを再度開いてみました: http://support.microsoft.com/kb/210684/en-us . 問題は解決しませんでした。

誰でもこの問題を解決する方法について何か考えがありますか?

4

1 に答える 1