2017-02-17 9 views
0

У меня есть превосходство с несколькими опорными точками и сводным листом. В excel есть макрос, который может обновлять все точки поворота и отправлять содержимое листа Сводка по почте в некоторые группы.Запуск макроса Excel из SSIS или планировщика заданий, без офиса, установленного на сервере

Я хочу автоматизировать процесс, с помощью которого мы можем называть этот макрос ежедневно.

Могу ли я назвать этот макрос из планировщика задач или SSIS (на сервере, на котором не установлен Office?

+0

Нет, вы не можете запускать макросы excel без предварительного исправления. Если вы хотите создавать отчеты в excel, есть другие способы сделать это. –

ответ

0

Нет. Там нет никакого способа, чтобы запустить первенствовать макросы с сервера без установленного офиса.

И даже если вы устанавливаете офис, это плохая идея. Вы можете установить офис, а затем иметь пакет SSIS с заданием сценария .NET, импортирующим двоичные файлы Micrososft.Office.Interop.Excel, а затем использовать метод Run() выполнить макрос. Но, пожалуйста ....

Не делайте этого.

Microsoft heavily discourages this.

Microsoft в настоящее время не рекомендуется, и не поддерживает, автоматизации приложений Microsoft Office из любого без присмотра, не интерактивного клиентского приложения или компоненты (включая ASP, ASP.NET, DCOM и NT Services), потому что Бюро может проявлять нестабильное поведение и/или тупик, когда Office запущен в этой среде.

Лучше всего здесь перестроить макрос. Переведите его на другой язык. Что он пытается сделать? Можно ли это сделать, импортируя данные Excel и используя задачи PIVOT, UNPIVOT и Send Mail в SSIS? Попробуйте их. Если это не сработает, загляните в задачу скрипта, которая использует EPPLus codeplex project, чтобы выполнять тяжелую работу на сервере. EPPlus будет работать намного быстрее, чем Interop.Excel.

Удачи вам!

Смежные вопросы