Ошибка выполнения Microsoft Excel Server. Сообщение об ошибке при запуске VBS или сценария bat из планировщика. - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь запустить скрипт, который открывает файл Excel, выполняет несколько макросов внутри файла и закрывает указанный файл. Сценарий выполняется точно так, как ожидалось, когда я запускаю его из командной строки вручную.

Однако, когда я планирую задачу для запуска сценария, сценарий выполняется до последнего этапа, и я получаю всплывающее сообщение в Excel с надписью «Ошибка выполнения сервера».

Вот некоторые из вещей, которые я пробовал, все выдали одно и то же сообщение об ошибке Excel:

  • Запланируйте задачу для запуска сценария VBS с помощью cscript.exe
  • Запланируйте задача запустить скрипт vbs напрямую из cmd
  • настроить скрипт bat для запуска скрипта vbs через приглашение cmd
  • пробовал запускать 32-битные и 64-битные версии для каждой версии
  • поместите все файлы и сценарии в одну папку и перепробовал все предыдущие три
  • Я играл с различными настройками в планировщике задач, чтобы запускаться при входе / выходе из системы; компьютер проснулся и c.
  • Пользовательские разрешения конфигурации через dcomcnfg и дали пользователю (мне) «полный контроль»
  • Отбросил «Уровень аутентификации» до «Нет»

Другие подробности:

  • Я использую Windows 10 64-бит и Office 10
  • Сам файл Excel сохраняется как файл xlsb с размером 8,741 КБ
  • У меня есть три другие задания, которые похожи на эту, и все они выполняются без проблем
  • У меня есть права администратора на моей машине
  • Скрипт запускается как я (т.е. , используя мой профиль / учетную запись)

Это скрипт vbs, "средство запуска макросов" (изначально получено из здесь ):

'Input Excel File's Full Path
  ExcelFilePath = "C:\Users\person\Desktop\script\filewithmacros.xlsb"

'Input Module/Macro name within the Excel File
  MacroPath1 = "Module2.LoadAddins"
  MacroPath2 = "Module4.ForceCalc"
  MacroPath3 = "Module1.SendPDF"

'Create an instance of Excel
  Set ExcelApp = CreateObject("Excel.Application")

'Do you want this Excel instance to be visible?
  ExcelApp.Visible = True  'or "False"

'Prevent any App Launch Alerts (ie Update External Links)
  ExcelApp.DisplayAlerts = TRUE

'Open Excel File
  Set wb = ExcelApp.Workbooks.Open(ExcelFilePath)

'Execute Macro Code 1
  ExcelApp.Run MacroPath1

'Force Calculation

ExcelApp.Calculate

'Execute Macro Code 2
  ExcelApp.Run MacroPath2

'For a wait for calc to finish
WScript.Sleep 180000


'Execute Macro Code 3
  ExcelApp.Run MacroPath3


'Reset Display Alerts Before Closing
  ExcelApp.DisplayAlerts = True

'Save Excel File (if applicable)
  wb.Save

'Close Excel File
  wb.Close

'End instance of Excel
  ExcelApp.Quit

'Leaves an onscreen message!
  MsgBox "Your Automated Task successfully ran at " & TimeValue(Now), vbInformation

Этот скрипт работает отлично, когда мы запускаем его непосредственно из командной строки как

running from command prompt

Однако, когда мы планируем задачу для запуска летучей мыши, содержащей тот же код (показано ниже), мы получаем ошибку Excel: «Ошибка выполнения сервера»

cd c:\windows\SysWOW64   C:\Windows\SysWOW64\cscript.exe  C:\Users\name\Desktop\script\MacroLauncher.vbs

Учетная запись пользователя f или задача моя (права администратора), и я пробовал оба запуска только при входе в систему только / вошли или нет опции, и оба сбоя

task action set up

аргумент добавления:

/c "C:\Users\name\Desktop\script\scriptfilename.bat"

enter image description here

...