Pregunta

Necesito agregar valores para mis "marcadores" en un documento de Word. Allí necesito lograr esto usando la unión tardía.

He extraído al libro Mark, pero ¿cómo cambio el valor?

    object bookMark = @"OfferRef";
    Type applicationType = Type.GetTypeFromProgID("Word.Application");
    object applicationObject = Activator.CreateInstance(applicationType);

    object documentsObject = applicationType.InvokeMember("Documents", System.Reflection.BindingFlags.GetProperty,
     null, applicationObject, null);
    applicationType.InvokeMember("Visible", System.Reflection.BindingFlags.SetProperty, null, applicationObject,
     new object[] { true });

    Type documentsType = documentsObject.GetType();
    object documentObject = documentsType.InvokeMember("Add", BindingFlags.InvokeMethod, null, documentsObject,
     new Object[] { @"e:\offer.doc"});

    Type documentType = documentObject.GetType();
    object fieldsBookMarks = documentType.InvokeMember("BookMarks", BindingFlags.GetProperty, null, documentObject, null);
    Type typeBookMarks = fieldsBookMarks.GetType();

    object bookMark = typeBookMarks.InvokeMember("Item", BindingFlags.InvokeMethod, null, fieldsBookMarks, new object[] { bookMark });
    Type type = bookMark.GetType();
    object Range = type.InvokeMember("Range", BindingFlags.GetProperty, null, bookMark, null);
    type = Range.GetType();
¿Fue útil?

Solución

¿Es esto lo que estás buscando?

Además, es posible que desee echar un vistazo a la palabra clave dinámica que está disponible en C# 4. Hará que su código sea más fácil de escribir y leer.

Compare el código en la Figura 4 con el código en la Figura 5

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top