我尝试写入现有的Excel文件,但发生NullReferenceException
错误。我该怎么做才能解决这个问题?
我引用了Microsoft Excel 16.0 Object Library
。
这就是我的所作所为:
Imports Excel = Microsoft.Office.Interop.Excel
Public Class manager
Dim oExcel As Excel.Application
Dim oBook As Excel.Workbook
Dim oSheet As Excel.Worksheet
Dim oRange As Excel.Range
Dim box1 As Integer = 0
Dim i As Integer = 2
Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
box1 = 1
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
oBook = oExcel.Workbooks.Open("C:\puthere.xlsx")
Catch ex As NullReferenceException
End Try
Try
oSheet = oBook.Worksheets("sheet1")
Catch ex As NullReferenceException
End Try
Try
oSheet.Range("B" & i).Value = box1
Catch ex As NullReferenceException
End Try
End Sub
End Class
我尝试使用Try-Catch
并成功停止了错误。但该计划并不奏效。没有错误,但文件没有变化。当我将路径和文件名更改为不存在的路径和文件名时,程序也会这样做(没有错误,只是没有写任何东西)。
答案 0 :(得分:2)
我尝试使用
Try-Catch
并成功停止了错误。但该计划不起作用。没有错误,但文件没有变化。
这是因为Try-Catch没有停止错误。看看MSDN文档:
提供一种方法来处理在给定代码块中可能发生的一些或所有可能的错误,同时仍然运行代码。
现在讨论手头的问题。 NullReferenceException
错误的原因是您尚未创建New
的{{1}}实例:
oExcel