none
VB2008でExcelのセルデータが読めない RRS feed

  • 質問

  • VB2008ExpressでExcelをオープンし、セルのデータを読もうとしましたが
    ”System._ ComObject”というデータが読み込まれます。
    こいれは、読み込みが正常にできなかったエラーメッセージかと思われますがデバッグ時にはエラーメッセージは出ていません。
    ExcelのVisibleはTrueにしてあるのでデバッグ時にはオープンしたExcelが表示されます。ExcelファイルのオープンはOKですが、セルの内容の読み込み方に問題があるのかと思っています。
    また、参照追加で「Microsoft Excel9.0Object Library」をクリックしてOKしていますが、チェックマークなどはつかず、正しく反映されたかについては判りません。

    プログラムコードは下記の通りです。

    app = CreateObject("Excel.Application")
    strExcelFile = CurDir()
    strExcelFile = strExcelFile + "\サマリー.xls"
    book = app.Workbooks.Open(strExcelFile)
    app.Visible = True

    For intSheetNo = 1 To 4
        sheet = book.Worksheets(intSheetNo)
        For intColum = 1 To 50
            For intLine = 1 To 50
                gstrExcelData(intSheetNo, intColum, intLine) = sheet.Cells(intColum, intLine).ToString
            Next intLine
        Next intColum
    Next intSheetNo

    なお、ToStringは、これをしないと"型が一致していない"とエラーメッセージがでます。Excelのセルデータは文字型と思っていましたがこの理由もわかりません。
    パソコンのOSはVista、ExcelはOffice2000です。
    2010年2月15日 0:13

回答

すべての返信

  • とりあえず
    sheet.Cells(intColum, intLine).ToString

    sheet.Cells(intColum, intLine).Value.ToString
    というようにValueを加えるとどうなるでしょうか?
    2010年2月15日 0:49
  • ありがとうございます。

    sheet.Cells(intColum, intLine).Value.ToString

    に変更すると”NullReferenceExceptionはハンドルされませんでした”とエラーメッセージがでましたので

    sheet.Cells(intColum, intLine).Value

    にしたところうまくいきました。
    ありがとうございました。感謝します。

    2010年2月15日 1:05