我一直在 Visual Studio 2010 中开发我的第一个应用程序,但我似乎无法找到解决此问题的方法。我正在尝试修改 Word 模板并使用我自己的自定义文本填充它。所以我使用下面的代码来做到这一点。
但是每次我尝试调试器都会停在这一行:oWordDoc = oWord.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing).
“COMException 未处理。Word 无法读取此文档。它可能已损坏。”
我已经输入了所有必需的命名空间并添加了对 word 的引用。我正在使用 Visual Studio 2010 和 Microsoft Word 2007。
private void fnGenerateDoc()
{
Object oMissing = System.Reflection.Missing.Value;
Object oTrue = true;
Object oFalse = false;
Word.Application oWord = new Word.Application();
Word.Document oWordDoc = new Word.Document();
oWord.Visible = true;
Object oTemplatePath = "Test1.dot";
oWordDoc = oWord.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);
foreach (Word.Field myMergeField in oWordDoc.Fields)
{
Word.Range rngFieldCode = myMergeField.Code;
String fieldText = rngFieldCode.Text;
if (fieldText.StartsWith(" MERGEFIELD"))
{
Int32 endMerge = fieldText.IndexOf("\\");
Int32 fieldNameLength = fieldText.Length - endMerge;
String fieldName = fieldText.Substring(11, endMerge - 11);
fieldName = fieldName.Trim();
if (fieldName == "NaslovFirma")
{
myMergeField.Select();
oWord.Selection.TypeText("Nesto");
}
}