ObjWorkbook.Worksheets.Count не работает

Я пытаюсь написать код, чтобы открыть файл 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 

Следующее выполнило бы эту работу.

Версия VBA

 Dim Shell As Object: Set Shell = CreateObject("WScript.Shell") Dim oFSO As Object: Set oFSO = CreateObject("Scripting.FileSystemObject") Dim objExcel As Application: Set objExcel = CreateObject("Excel.Application") Dim myworkbook As Workbook, worksheetcount As Long 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

 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 

У вас была ошибка, потому что вы пытались Set значение для worksheetcount которое не является объектом. Вы используете Set только для объектов.

  • Как проверить, существует ли рабочий лист в файле excel
  • Сохранить и закрыть книгу без подсказки после запуска макроса?
  • Ошибка сценария Vb
  • VBScript для вызова макроса, не сохраненного в файле Excel, но в надстройке XLAM
  • Назначение массива в VBS
  • Входная переменная VBScript
  • Ошибка переполнения vbscript
  • VBScript для Excel: как выбрать исходные данные (.SetSourceData)?
  • VBscript для сравнения содержимого некоторых столбцов в двух листах Excel для данной строки
  • Ошибка при попытке прокрутки файлов, изменения и сохранения
  • Откройте файл Excel и сохраните его как .XLS
  • Давайте будем гением компьютера.