Начинать работать с Task планировщик работал, теперь терпит неудачу

Я запускаю программу excel 2000 vba с планировщиком заданий и cscript и vbscript около года. Несколько дней назад он прекратил работать. Я могу запустить программу вручную. Всякий раз, когда запускает Task Scheduler, черное окно отображается примерно 1-2 секунды, а затем закрывается.

Я пробовал комментировать обработку ошибок, но всегда получаю те же результаты. Я попытался показать MsgBoxes но результаты все те же.

Я нашел на вашем форуме здесь более простой способ сделать это, и я попробовал это с теми же результатами.

Итак, что мне нужно сделать, чтобы отладить это?

Вот код, который я пробовал на этом форуме:

 Option Explicit Dim xlApp, xlBook Set xlApp = CreateObject("Excel.Application") '~~> Change Path here Set xlBook = xlApp.Workbooks.Open("C:\My Documents\___Stocksfilter.xls", 0, True) xlApp.Run "A_Pick" xlBook.Close xlApp.Quit Set xlBook = Nothing Set xlApp = Nothing WScript.Echo "Finished." WScript.Quit 

Вот код, который я использовал:

 'Script to start my filter.xls program with named macro 'MsgBox "In RunExcel" ' Create an Excel instance Dim myExcelWorker Set myExcelWorker = CreateObject("Excel.Application") ' Disable Excel UI elements myExcelWorker.DisplayAlerts = False myExcelWorker.AskToUpdateLinks = False myExcelWorker.AlertBeforeOverwriting = False myExcelWorker.FeatureInstall = msoFeatureInstallNone ' Open the Workbook Dim oWorkBook Dim strWorkerWB strWorkerWB = "C:\My Documents\___Stocks\filter.xls" 'MsgBox "Opening filter" on error resume next Set oWorkBook = myExcelWorker.Workbooks.Open(strWorkerWB) if err.number <> 0 Then ' Error occurred - just close it down. MsgBox "open Error occurred" End If err.clear on error goto 0 'MsgBox "Running macro" Dim strMacroName strMacroName = "A_Pick" on error resume next ' Run the macro myExcelWorker.Run strMacroName if err.number <> 0 Then ' Error occurred - just close it down. MsgBox "run macro Error occurred" End If err.clear on error goto 0 ' Clean up and shut down Set oWorkBook = Nothing myExcelWorker.Quit Set myExcelWorker = Nothing Set WshShell = Nothing 

Я собираюсь взять здесь дикое предположение.

« Это работает, когда я запускаю cscript, но не при запуске Task » заставляет меня думать, что это проблема с разрешениями. Когда вы настраиваете запланированную задачу Windows, вы должны иметь возможность запускать ее как конкретного пользователя (а также задавать, запускать ли пользователь, если пользователь не вошел в систему). Я не уверен в Win 98, но можете ли вы узнать, что говорят свойства Task? Когда вы запускаете код самостоятельно, ваши разрешения используются, и запланированная задача может быть использована пользователем, у которого нет разрешений для его запуска.

Как это может произойти, если вы ничего не изменили? Единственное, о чем я могу думать, это то, что:

  1. Пользователь, который использует запланированное задание, больше не существует или изменения были изменены
  2. У пользователя была дата истечения срока действия пароля, и она недавно прошла
  3. Если запланированное задание использует ваше имя пользователя, вы сохранили пароль в свойствах Задачи, а затем недавно изменили свой пароль, но не обновили пароль запланированной задачи?

Кроме того, некоторые антивирусные продукты останавливают использование некоторых vbscripts. Возможно, вы установили что-нибудь новое, прежде чем оно перестало работать?

Чтобы проверить, где может произойти ошибка (надеюсь, что это работает, так как я не очень хорошо знаком с машинами Win98):

  1. Узнайте, какой пользователь настроен для запуска запланированной задачи
  2. Start Command Prompt как другой пользователь (я думаю, что это Shift + Right-Click -> Run as … [note, я не знаю о Windows 98, поэтому я пересекаю пальцы, чтобы вы могли это сделать])
  3. Запустите cscript из командной строки: C:\>cscript <dir>\myscript.extension \I (обратите внимание, что \I – интерактивный режим, который должен показывать ошибки ( см. Здесь для получения дополнительной информации )

Я действительно надеюсь, что это поможет. Я бы поставил это в комментарии, но это слишком много текста.

Решено! Сначала я выполнил команду Run и использовал wscript. Также можно использовать cscript / I, как сообщал joseph4tw, но я не знал об этом.

Это показало мне ошибку, что он не смог найти движок VBScript. Я посмотрел в Интернете, и vbscript.dll должен быть в файле Windows / System для моего компьютера 98. Его там не было. Я нашел сайт http://www.dll-files.com и загрузил файл. Затем я перезагрузился. Затем я выполнил команду Run для ее установки, например: Запустите regsvr32 vbscript.dll. Он дал успешное сообщение, и теперь он работает.

Я считаю, что это было вызвано вредоносным ПО. Я не могу удалить вредоносное ПО с моего компьютера, потому что я не могу запустить какой-либо новый антивирус.

Из-за моего нового компьютера XP я работаю над созданием образа диска и с помощью компакт-диска восстановления Linux. Этот linux, я думаю, будет работать на 98, и я надеюсь, что смогу запустить антивирус для очистки этого компьютера.

Спасибо за помощь каждого, потому что это привело меня к решению.

  • Не удается получить доступ к свойству приложения Excel.ComAddIns, если нет установленных AddIns
  • Сценарий SAP GUI открывает окно Excel, и я не могу его остановить
  • преобразование абсолютного или относительного пути
  • Персонализация файлов Excel из Windows Scripting Host
  • Interesting Posts

    Выберите столбцы, используя одно целое в Excel VBA

    Как изменить существующий лист в книге Excel с помощью пакета Openxlsx в R?

    Excel VBA для создания нумерованного списка в Word

    Использование пользовательских цветов XSSF в условном форматировании?

    Excel макрос – открыть макрос, не входя в Visual Basic?

    Преобразование Excel VBA в VB.Net с помощью Selection.ListObject.QueryTable Intact

    Вложенные «IF» «ИЛИ» функции

    В качестве параметров в VBA могут использоваться только общедоступные пользовательские типы, определенные в публичных объектных модулях

    Область статического условного форматирования Excel

    Использование библиотеки EPPlus для замены формул по их значениям в Excel

    Неработающее содержание VBA

    Ошибка при создании файла excel в c # webapplication

    Excel ODBC Data Connection Время выполнения запроса для обновления каждого запроса

    Получение ошибки #REF на других листах после запуска кода VBA?

    Excel VBA – использование функции диапазона с помощью метода ячеек для диапазона на другом листе

    Давайте будем гением компьютера.