环境:Windows 10 64位,Visual Studio Express 2013.我已经安装了microsoft office 2013和2003.并且已经添加了Microsoft Office 11.0 object library
和Microsoft Word 11.0 object library
引用。但是不起作用。
如果我将Microsoft Word 11.0 object library
更改为Microsoft Word 15.0 object library
并且一切正常,我已经尝试过了。但我需要为单词2003工作,那么,我该怎么办?
代码:
using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
using Word = Microsoft.Office.Interop.Word;
namespace readDOC {
class Program {
static void Main(string[] args) {
string cd = Directory.GetCurrentDirectory();
Word.Application word = new Word.Application();
List<string> dirs = new List<string>();
foreach (string dir in Directory.GetFiles(@".", "*.doc?")) {
if (dir.IndexOf('~') == -1) {
dirs.Add(cd + dir.Substring(1));
}
}
foreach (string fn in dirs) {
Word.Document docs = word.Documents.Open(fn);
try {
docs.Protect(Word.WdProtectionType.wdAllowOnlyReading);
Console.WriteLine(@"OK:{0}.", fn);
} catch (Exception e) {
Console.WriteLine(@"NOT OK:{0}.", fn);
} finally {
docs.Close();
}
}
word.Quit();
Console.WriteLine("Press any key to finish");
Console.ReadLine();
}
}
}
答案 0 :(得分:1)
在回顾问题后,我认为这是因为您没有使用Interop(扩展)。
确保在添加2003之后,将构建平台目标设置为x86。 2003年没有x64支持。这是我的猜测。我无法测试2003,因为这是我的工作机器。
我希望我的建议能指出你正确的方向。