我曾经在VB 6中做过这件事情一百次,但在使用C#2008和Word 2007时却让我感到疯狂。我创建了一个带有两个文档变量的docx文件:
Some text here....
{docvariable replace1}
{docvariable replace2}
More text here......
我先创建了一个宏来完成它,现在已经生效:
Sub FillDocVariable()
'
' FillDocVariable Macro
'
'
ActiveDocument.Variables("replace1").Value = "This is a test"
ActiveDocument.Variables("replace2").Value = "it is only a test."
ActiveDocument.Fields.Update
End Sub
这是我的C#代码(请注意,我是边学边做的):
using Microsoft.Office.Interop.Word;
object paramMissing = Type.Missing;
object openfileName = @"C:\testing\Documents\1.docx";
ApplicationClass WordApplication = new ApplicationClass();
Document WordDocument = WordApplication.Documents.Open(ref openfileName,
ref paramMissing, ref paramMissing, ref paramMissing,
ref paramMissing, ref paramMissing, ref paramMissing,
ref paramMissing, ref paramMissing, ref paramMissing,
ref paramMissing, ref paramMissing, ref paramMissing,
ref paramMissing, ref paramMissing, ref paramMissing);
WordDocument.Variables("replace1") = "This is a test";
WordDocument.Variables("replace2").Value = "it's only a test!";
WordDocument.Fields.Update;
这是我得到的错误:
错误 1 非可调用成员 'Microsoft.Office.Interop.Word._Document.Variables' 不能像方法一样使用。 Blockquote