Vb.net 处理函数中的NullReference异常
我写了下面的函数。但是,在处理status变量时,我得到一个用户代码未处理的错误NullReference异常 我来自VBA,在那里我不必在我的功能上处理此类问题。状态变量应该将“我的对象”属性设置为true或false 我试着设置Vb.net 处理函数中的NullReference异常,vb.net,Vb.net,我写了下面的函数。但是,在处理status变量时,我得到一个用户代码未处理的错误NullReference异常 我来自VBA,在那里我不必在我的功能上处理此类问题。状态变量应该将“我的对象”属性设置为true或false 我试着设置 status = New Boolean status = False 但什么都没用 这是我的密码 Option Strict On Option Explicit On Imports Microsoft.Office.Interop.
status = New Boolean
status = False
但什么都没用
这是我的密码
Option Strict On
Option Explicit On
Imports Microsoft.Office.Interop.Excel
Imports System.Windows.Forms
Module sheetView
Function viewSheets(sheetName As String, status As Boolean) As String
Dim ThisApplication As Excel.Application = New Excel.Application()
Dim WB As Excel._Workbook
Dim WS As Excel.Worksheet
WB = CType(Globals.ThisWorkbook.Application.ActiveWorkbook, Excel.Workbook)
WS = CType(WB.Sheets(sheetName), Excel.Worksheet)
With ThisApplication
.ScreenUpdating = False
WS.Select()
.ActiveWindow.DisplayGridlines = status
.ActiveWindow.DisplayHeadings = status
.ActiveWindow.DisplayWorkbookTabs = status
.DisplayFormulaBar = status
.DisplayStatusBar = status
.ExecuteExcel4Macro("Show.ToolBar(""Ribbon"", status)")
.ScreenUpdating = True
End With
Return ""
End Function
End Module
Private Sub btnEmployeeDashboard_Click(sender As Object, e As EventArgs) Handles btnEmployeeDashboard.Click
sheetView.viewSheets("employeeBoard", True)
End Sub
当您尝试在没有对象实例的情况下访问类成员时,会出现
NullReference
换句话说,其中一个值(
ThisApplication
/WB
/WS
/WS.ActiveWindow
)为空。在调试器中逐步检查代码以找出哪一个。是否确定状态变量是问题所在?您知道错误发生在哪一行吗?您是否有理由将WB
声明为\u工作簿
,但将全局.ThisWorkbook.Application.ActiveWorkbook
强制转换为工作簿
(无下划线)?状态变量分配给空引用,因此@JLRishe是正确的,如果不通过调试器,很难说它在哪里失败,你能发布堆栈跟踪吗?