아래의 방법으로 여러 개의 문서를 제공하고 Office 2000 이후 버전의 WinXP 32 비트에서 Win8 64 비트를 실행하는 15 개 이상의 다른 PC에서 winword.exe가 예상대로 표시되지 않습니다. 트렌드의 안티 바이러스가 실행중인 1 개의 악몽 PC에서 winword.exe (항상, 매번)는 "파일 사용 중"예외로 루프를 중단합니다 (트렌드를 끄면 다시 작동합니다). 트렌드를 유지할 수있는 아이디어가 있습니까?C# interop winword.exe가 종료되지 않습니다()!
void loop()
{
Microsoft.Office.Interop.Word._Application app = new Microsoft.Office.Interop.Word.Application();
app.Visible = false; app.ScreenUpdating = false; app.DisplayAlerts = WdAlertLevel.wdAlertsNone;
Microsoft.Office.Interop.Word._Document doc = app.Documents.Open(FilePath, false, true, false);
doc.Activate(); doc.DisableFeatures = true;
doc.ExportAsFixedFormat(newFileName, WdExportFormat.wdExportFormatPDF, false,WdExportOptimizeFor.wdExportOptimizeForOnScreen, WdExportRange.wdExportCurrentPage, 1, 1, WdExportItem.wdExportDocumentWithMarkup, false, false, WdExportCreateBookmarks.wdExportCreateNoBookmarks, true, false, true, Type.Missing);
((Microsoft.Office.Interop.Word._Document)doc).Close(WdSaveOptions.wdDoNotSaveChanges);
Marshal.ReleaseComObject(doc);
Marshal.FinalReleaseComObject(doc);
((Microsoft.Office.Interop.Word._Application)app).Quit(WdSaveOptions.wdDoNotSaveChanges);
Marshal.ReleaseComObject(app);
Marshal.FinalReleaseComObject(app);
GC.GetTotalMemory(false);
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
GC.GetTotalMemory(true);
}
루크, 너 락. 매번 완벽한 실행을 위해 설명한 내용을 정확하게 수행했습니다. 고맙습니다! –