设置对象时出现错误时,继续下一步不在VBScript(VBS)中工作

设置对象时出现错误时,继续下一步不在VBScript(VBS)中工作,vbscript,Vbscript,我只是想测试对象是否已设置。对我来说似乎很简单 Option Explicit Dim objExcel, wMn Set objExcel = CreateObject("Excel.Application") msgbox "test" On Error Resume Next Set wMn = objExcel.Workbooks.Open("Z:\path\file_*.xlsm") msgbox "test1" If Err.Number = 0 then msgbox "t

我只是想测试对象是否已设置。对我来说似乎很简单

Option Explicit
Dim objExcel, wMn
Set objExcel = CreateObject("Excel.Application")
msgbox "test"
On Error Resume Next
Set wMn = objExcel.Workbooks.Open("Z:\path\file_*.xlsm")

msgbox "test1"
If Err.Number = 0  then
  msgbox "test2"
end if
On Error Goto 0
msgbox“test”显示,但msgbox“test1”和msgbox“test2”从不显示。如果文件不在,我就挂在电视机上。请给我VBS。谢谢


我知道我可以使用文件系统对象,但我想知道为什么我不能这样做

似乎Excel不支持Open方法中的通配符

    Option Explicit

    Dim objExcel, wMn

    Set objExcel = CreateObject("Excel.Application")
    MsgBox "test"

    objExcel.Visible = True 'Otherwise you'll never see it

    On Error Resume Next
    Set wMn = objExcel.Workbooks.Open("C:\path\actualfile.xls") 'Works
    'Set wMn = objExcel.Workbooks.Open("C:\path\actualfil*.xls") 'Won't work even if only file that could match wild card

    MsgBox "test1"

    If Err.Number = 0 Then
        MsgBox "test2"

    Else
        'Output error to help you work out what wrong...
        MsgBox "Err:" & Err.Description  

    End If

    On Error Goto 0

第2行(尾随逗号)出现语法错误。除此之外,您的代码工作正常。我猜你真正的代码不是你在这里展示的。
工作簿.Open
方法是否允许在文件名中使用通配符?2.
On Error Goto 0
语句不仅禁用错误处理;此外,它会清除
Err
对象的属性,您应该将此语句移到错误处理代码段后面。3.去掉
On Error Resume Next
语句,看看到底发生了什么…@Tomalak-我删除了后面的逗号。你是对的,我简化了这篇文章的代码。