请分享您的想法!我有问题要检查的文件夹,并转换一组具有不同的扩展名的文件的PDF文件如何以编程方式确定Word应用程序冻结
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using Microsoft.Office.Interop.Word;
namespace ConsoleApplication7
{
class Program
{
static void Main(string[] args)
{
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
object oMissing = System.Reflection.Missing.Value;
word.Visible = false;
word.ScreenUpdating = false;
object aa = WdOpenFormat.wdOpenFormatAuto;
string errorMessage = null;
word.DisplayAlerts = WdAlertLevel.wdAlertsNone;
//selection extension
var allExtentionGroupFiles = Directory.GetFiles(@"C:\path", "*.*").
Where(s=>!s.Contains("~$") && (s.EndsWith(".docx")
|| s.EndsWith(".doc")
|| s.EndsWith(".docm")
|| s.EndsWith(".dotx")
|| s.EndsWith(".dotm")
|| s.EndsWith(".dot")
|| s.EndsWith(".mht")
|| s.EndsWith(".mhtml")
|| s.EndsWith(".rtf")
|| s.EndsWith(".txt")
|| s.EndsWith(".xml")
|| s.EndsWith(".odt")
|| s.EndsWith(".wps"))).
GroupBy(s=>s.Substring(s.LastIndexOf('.'))).OrderBy(s=>s.Key);
foreach (var currentExtentionGroup in allExtentionGroupFiles)
{
Console.WriteLine("-->>{0}", currentExtentionGroup.Key);
foreach (var currentDoc in currentExtentionGroup)
{
Object filename = (Object)currentDoc;
try
{
//open current document
Document document = word.Documents.Open(filename,ConfirmConversions:aa,OpenAndRepair:true,Revert:true);
document.Activate();
object outputFileName = currentDoc.Replace(currentExtentionGroup.Key, ".pdf").Insert(10, "TEST");
object fileFormat = WdSaveFormat.wdFormatPDF;
document.SaveAs(ref outputFileName,
ref fileFormat, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing);
document.Close();
}
catch (Exception e1)
{
errorMessage = e1.ToString();
}
}
}
word.Quit();
}
}
}
代码工作,问题是,当我打开一个文档,或任何允许的一些推广各项工作的权利,但我们说有人改变了扩展名的例子DoSomething.exe DoSomething.doc或在文件夹c:\路径是损坏的文档Word停止响应,当我尝试打开此文件手动出现模式窗口文件转换。在这种情况下该怎么做
谢谢您的回答我也想过这个办法解决 我只是想确保没有其他选择 – HaikMnatsakanyan 2012-04-05 09:36:02