He hecho esto cientos de veces en VB 6 pero me tuercas de conducción usando C# 2008 y Word 2007. He creado un archivo docx con dos DocVariables:de llenado en un DocVariable en Word docx utilizando C#
Some text here....
{docvariable replace1}
{docvariable replace2}
More text here......
creé una primera macro para hacerlo y funciona:
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
Aquí está mi código C# (te estoy aprendiendo esto como voy):
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;
Aquí está el error que consigo:
Error 1 Non-invocable member 'Microsoft.Office.Interop.Word._Document.Variables' cannot be used like a method. Blockquote
Gracias por la oportunidad, Ondrej, pero que produjo el siguiente error: "Error 1 \t \t El partido mejor método sobrecargado para 'Microsoft.Office.Interop.Word.Variables.this [objeto] ref' tiene algunos inválida argumento." – Norm
@Norm Consulte la respuesta editada. –