ObjWorkbook.Worksheets.Count无效

时间:2015-06-24 18:33:41

标签: excel vba excel-vba vbscript runtime-error

我正在尝试编写代码来打开Excel文件,然后搜索它。即使我在检索工作簿中的工作表数量时遇到问题。我收到错误:

  

424 - VBScript运行时错误,需要对象

有什么想法?以下是我遇到问题的代码的一小部分:

Dim Shell : Set Shell = WScript.CreateObject( "WScript.Shell" )
Dim oFSO : Set oFSO = CreateObject("Scripting.FileSystemObject")
Dim objExcel : Set objExcel = CreateObject("Excel.Application")

Dim myworkbook, worksheetcount
Set myworkbook = objExcel.Workbooks.Open("C:\Temp\Test.xlsx")

On Error Resume Next
Set worksheetcount = myworkbook.worksheets.count 'fails

If Err.number <> 0 Then
    ShowError()
    myworkbook.Close False
End if

Sub ShowError()
    WScript.Echo Err.Number & " Srce: " & Err.Source & " Desc: " & Err.Description
    Err.Clear
End Sub

1 个答案:

答案 0 :(得分:2)

以下人员可以胜任。

VBA版

Dim Shell: Set Shell = WScript.CreateObject("WScript.Shell")
Dim oFSO: Set oFSO = CreateObject("Scripting.FileSystemObject")
Dim objExcel: Set objExcel = CreateObject("Excel.Application")

Dim myworkbook, worksheetcount
Set myworkbook = objExcel.Workbooks.Open("C:\Temp\Test.xlsx")

On Error Resume Next
worksheetcount = myworkbook.Worksheets.Count

If Err.Number <> 0 Then
    ShowError
    myworkbook.Close False
End If

VBScript版

Set

您遇到了错误,因为您尝试worksheetcount Set的值不是对象的outMCfile.write(','.join(line.split())) 。您仅将 outMCfile.write(line.replace(' ', ',')) 用于对象。