Как Word 2013 может быть автоматизирован из программы взаимодействия C # / COM с использованием планировщика задач при входе пользователя в систему и блокировке рабочего стола?

StackOverflow https://stackoverflow.com//questions/23061324

Вопрос

Я унаследовал программу на C #, которая использовалась для автоматизации создания ежедневного отчета в Windows XP Pro SP3 с использованием PDFCreator 1.2.3, MapInfo Professional 11, Word 2003 и Excel 2003.Этот компьютер с Win XP находился в домене Active Directory, и программа C # запускалась от имени пользователя домена (с правами администратора), при этом пользователь входил в систему, а рабочий стол был заблокирован.Word 2003 был автоматизирован для открытия шаблона, создания документа на основе шаблона и сохранения документа - и все это из общего сетевого ресурса.Excel 2003 использовался для открытия электронной таблицы с таблицей, связанной с источником данных ODBC, и обновления таблицы с добавлением новых данных в электронную таблицу.MapInfo использовался для генерации изображений карты из источника данных ODBC.PDFCreator использовался для того, чтобы взять электронную таблицу, документ Word и изображения и объединить их все в ежедневный отчет.

Поскольку срок службы XP истек, я перенес эту программу на виртуальную машину Win 8.1 EE (в том же домене) и установил продукты Office 365 (Word 2013 и Excel 2013) вместе с PDFCreator 1.7.1 и MapInfo Professional 12 для автоматизации создания этого ежедневного отчета.Эта программа работает нормально при запуске вручную на новой виртуальной машине, но завершается сбоем при запуске от имени того же пользователя, что и запланированная задача.Эта запланированная задача настроена на запуск с самыми высокими разрешениями и выполняется, если пользователь не вошел в систему.

Я понимаю, что здесь играет роль множество переменных;операционные системы пришлось изменить, и мы больше не используем старую версию Office, я также не смог получить более старые версии PDFCreator или MapInfo.Поэтому я сосредоточу вопрос на вещах, которые я могу контролировать.Я осознаю это проблемы Я сталкиваюсь с этим, но мне неясно, действительно ли это возможно сделать сейчас, учитывая новые операционные системы и приложения (а именно Word 2013 и Excel 2013), с которыми меня попросили попытаться заставить это работать.

Итак, вопрос в том,:Как Word 2013 может быть автоматизирован из программы взаимодействия C # / COM с использованием планировщика задач для запуска программы при вошедшем в систему пользователе и заблокированном рабочем столе?

Это было полезно?

Решение 2

Ответ, который я нашел, заключается в том, что задача, подобная этой, при запуске в Windows XP Pro SP3 с параметрами, выбранными для запуска от имени администратора и для запуска независимо от того, вошли вы в систему или нет, не могла использоваться с той же задачей / пользователем / разрешениями в Windows 8.1 EE.

Задача была выполнена успешно, при этом параметры "Запуск от имени администратора" и "Запуск, если не выполнен вход в систему" не были выбраны.

Для всех, кто еще переносит устаревшие программы / задачи из Win XP по мере их вывода из эксплуатации в связи с истечением срока службы, вы можете попробовать удалить опции "Запуск от имени администратора" и "запускать, если не выполнен вход в систему" для задачи в новой версии планировщика задач Windows.

Другие советы

Из Документов Microsoft - Рекомендации по автоматизации офиса на стороне сервера:

Все текущие версии Microsoft Office были разработаны, протестированы и настроены для запуска в качестве продуктов конечного пользователя на клиентской рабочей станции.Они предполагают интерактивный рабочий стол и профиль пользователя.Они не обеспечивают уровень повторного входа или безопасности, необходимый для удовлетворения потребностей серверных компонентов, предназначенных для работы без присмотра.

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

Я знаю, что это не дает ответа на вопрос об Office 365, но я думаю, что это настолько близко, насколько вы можете приблизиться.Также я нашел эту статью: КАК ЭТО СДЕЛАТЬ:Настройте приложения Office для запуска под учетной записью Интерактивного пользователя.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top