我对visual basic相当新,所以它可能是显而易见的,但我认为没有理由抛出这个异常错误。这是问题代码:
Public Sub textBoxFilePath_TextChanged(sender As Object, e As EventArgs) Handles textboxFilePath.TextChanged
If textboxFilePath.Text.Trim.Length > 0 Then
If My.Computer.FileSystem.FileExists(textboxFilePath.Text) Then
Dim checkType As String
checkType = System.IO.Path.GetExtension(textboxFilePath.Text)
If checkType = ".xlsx" Or ".xls" Or ".xlsm" Then
requiredPath = True
Else
requiredPath = False
End If
End If
End If
我得到的错误是
未处理的类型' System.InvalidCastException'发生在Microsoft.VisualBasic.dll
附加信息:从字符串转换" .xls"输入'布尔'无效。
有什么想法吗?
答案 0 :(得分:0)
试试这个:
If checkType = ".xlsx" Or checkType = ".xls" Or checkType = ".xlsm" Then
requiredPath = True
Else
requiredPath = False
End If
您的代码试图评估“.xls”(这是一个字符串),它不能很好地转换为布尔值true / false。
你也可以这样做来应用“短路”,所以只评估第一个是真的
If checkType = ".xlsx" OrElse checkType = ".xls" OrElse checkType = ".xlsm" Then
requiredPath = True
Else
requiredPath = False
End If