2016-06-03 1 views
-1
I have a docx word document that contains table and table cell with mergefield inside. 

enter image description hereComment acces table parent à partir d'un code de champ lors de publipostage dans un document Word

Je souhaite modifier l'arrière-plan de la cellule du tableau à la valeur orange (# EA6E24) mais je ne trouve pas le terrain et la façon de le faire.

Voici donc mon code qui traite la fusion et le publipostage du champ et essaie d'ajouter un ombrage à la cellule du tableau.

fldCode = parent.Descendants<FieldCode>().FirstOrDefault(); 

if (fldCode != null && fldCode.InnerText.Contains("MERGEFIELD") && 
{ 
    var ancestors = fldCode.Ancestors<TableCell>(); 

    // trouver et colorier le parent 
    fieldName = ""; 

    var shading = new Shading() 
    { 
     Color = "auto", 
     Fill = "#EA6E24", 
     Val = ShadingPatternValues.Clear 
    }; 

    foreach (var ancestor in ancestors) 
    { 
     ancestor.Append(shading); 
    }     
} 

Répondre

0

La solution consistait à accéder à la propriété d'ombrage et à l'écraser.

foreach (var ancestor in ancestors) 
    { 
     var tableCellProperties = ancestor.TableCellProperties; 
     tableCellProperties.Shading = shading;        
    }