1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
_Application msWord = new Application();
msWord.Visible = false;
object missing = Missing.Value;
object properties;
object saveChange = true;
object fileName = "myDocument.doc";
_Document nvDoc;
if (File.Exists((String)fileName))
{
nvDoc = msWord.Documents.Open(ref fileName, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
}
else{
// Choisir le template
object templateName = "myTemplate.dot";
// Créer le document
nvDoc = msWord.Documents.Add(ref templateName, ref missing, ref missing, ref missing);
}
// On récupère les propriétés personnalisées du document
properties = nvDoc.CustomDocumentProperties;
Type typeDocCustomProps = properties.GetType();
String key= "maPropriete";
String value = "AAAAA";
// Modification de la propriété "maPropriété"
typeDocCustomProps.InvokeMember("Item", BindingFlags.Default |
BindingFlags.SetProperty, null,
properties, new object[] { key, value });
// Mise à jour des champs dans le corps du document
nvDoc.Fields.Update();
Sections mySectionList = nvDoc.Sections;
// Mise à jour des champs dans les en-têtes du document
foreach (Section s in mySectionList)
{
foreach (HeaderFooter hf in s.Headers)
hf.Range.Fields.Update();
} |
Partager