Я делал это сто раз в VB 6, но это сводило меня с ума, используя C # 2008 и Word 2007. Я создал файл docx с двумя переменными 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