6

初めてVB.netからエクセルファイルを作ろうとしています。Microsoft.Office.Excel リファレンスを既に追加しました。Microsoft.Office.Interop をインポートします。

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim xlApp As Excel.Application
    Dim xlWorkBook As Excel.Workbook
    Dim xlWorkSheet As Excel.Worksheet
    Dim misValue As Object = System.Reflection.Missing.Value

    xlApp = New Excel.ApplicationClass
    xlWorkBook = xlApp.Workbooks.Add(misValue)
    xlWorkSheet = CType(xlWorkBook.Sheets("sheet1"), Excel.Worksheet)
    xlWorkSheet.Cells(1, 1) = "Something here"
    xlWorkSheet.SaveAs("D:\vbexcel.xlsx")

    xlWorkBook.Close()
    xlApp.Quit()
    releaseObject(xlApp)
    releaseObject(xlWorkBook)
    releaseObject(xlWorkSheet)

    MsgBox("Excel file created , you can find the file c:\")

End Sub

エラーgeneretadは次の行にあります:

   xlWorkSheet = CType(xlWorkBook.Sheets("sheet1"), Excel.Worksheet)

   Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
4

2 に答える 2

11

おそらく、お使いのバージョンの Excel は英語を話せません。そして、「シート」は現地語の汚い言葉で、英語のようなものです ;) あなたの名前は、英語がデフォルト言語ではないことを示唆しています. 次のような事故を避けるために、名前の代わりにインデックスを使用してください。

    xlWorkSheet = CType(xlWorkBook.Sheets(1), Excel.Worksheet)
于 2013-02-02T20:11:59.877 に答える