我通过Windows服务(通过具有管理员权限的帐户运行)打开Word 2007(DOCX)文档时出现问题。C#通过Windows服务打开Word文档
object fileNameO = templateFilename;
_application.Visible = visible;
_application.DisplayAlerts = WdAlertLevel.wdAlertsNone;
//opening document
_document = _application.Documents.OpenNoRepairDialog(ref fileNameO,
ref _missing,
ref _truevalue,
ref _missing,
ref _missing,
ref _missing,
ref _missing,
ref _missing,
ref _missing,
ref _missing,
ref _missing,
ref _missing,
ref _missing,
ref _missing,
ref _missing,
ref _missing);
//activating document
_document.Activate();
_document in _document.Activate();为空(System.NullReferenceException:未设置为一个对象的实例对象引用)
我试图打开并OpenNoRepairDialog方法打开。
这很奇怪,因为当我尝试在控制台应用程序中运行线程(服务)时,一切工作正常!
请帮助:)
请注意,运行Office无人值守(无论是作为Windows服务或Web应用程序)不支持:http://support.microsoft.com/kb/257757 - 这样说,它仍可能工作有时业务需求需要它,但它是一个痛苦的世界:) – 2011-03-10 17:31:10
我在我的网络应用程序中使用Exel来生成Exel文件。我遇到的问题是给应用程序池提供正确的权限来使用Exel。 – 2011-03-10 17:35:27
请参阅我对[此问题] [1]的回答。它可能有帮助。 [1]:http://stackoverflow.com/questions/1006923/automating-office-via-windows-service-on-server-2008/1680214#1680214 – 2011-07-20 22:20:59