2010-11-26 48 views
0

我使用C#和Microsoft.Office.Interop.Word来处理Microsoft Word文档。麻烦的是,当我将图像重命名为文件扩展名.doc,然后按照如下方式调用com对象时,它会挂起。在尝试打开文件之前,必须有一种方法来测试该文件是否是有效的单词文档。任何人都有答案?C#在打开之前测试有效的Word文档

ApplicationClass.Documents.Open(ref path, 
           ref missing, ref readOnly, 
           ref missing, ref missing, ref missing, 
           ref missing, ref missing, ref missing, 
           ref missing, ref missing, ref isVisible, 
           ref missing, ref missing, ref missing); 

回答

0

一些测试后,我决定使用阅读Aspose:http://www.aspose.com/

事实证明,这是非常强大和简单易用。如果文档的格式不正确,可以捕获并处理,则会引发异常。

0

你可以检查文件中的字节的第一屈指可数,检查出Word 97/8 file format - 尤其是部分的FIB(文件信息块)的内容。 .docx文件当然需要不同的处理。

1

你可以检查文件是否与

存在(System.IO.File.Exists((串)文件名)){

} 和由于路径是一个字符串,你可以使用最后3 - 4个符号的子字符串。 或者你可以用分隔符分割它''。' 这应该给你第一个和最后一个部分。