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

enter image description hereКак Acces родительской таблицы из кода поля в процессе слияния почты в текстовом документе

Я хочу, чтобы изменить цвет фона в ячейках таблицы оранжевого значения (# EA6E24), но я не нахожу поле и способ сделать это.

Итак, вот мой код, который обрабатывает слияние почты в поле и пытается добавить затенение к ячейке таблицы.

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); 
    }     
} 

ответ

0

Решение заключалось в доступе и перезаписи свойства затенения.

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