Не думаю, что так будет. Ввод скобок в код никак не работает.
Это, однако, должно хорошо сработать:
doc.Variables.Add("myNumPages", doc.ComputeStatistics(Interop.WdStatistic.wdStatisticPages) - 1);
RangeWord.Fields.Add(this.Range, Interop.WdFieldType.wdFieldDocVariable, "myNumPages");
.
Edit / AddIt: Существует другой способ, с преимуществом наличия динамического поля, которое можно обновлять:
- Вставьте обычное поле
{NUMPAGES}
и нарисуйте его белым шрифтом или сделайте его скрытым
- Выберите поле, добавьте закладку "numpages", охватывающую все это поле
- Теперь добавьте поле Формула с формулой
=numpages-1
* * Пример тысяча двадцать-один: * * 1 022
var hidField = RangeWord.Fields.Add(this.Range, Interop.WdFieldType.wdFieldExpression, "NUMPAGES");
hidField.Result.Bookmarks.Add("numpages");
hidField.Result.Font.Hidden = 1;
RangeWord.Fields.Add(this.Range, Interop.WdFieldType.wdFieldFormula, "numpages-1");
Возможно, вам придется поиграться с переменной диапазона, чтобы не перезаписывать ваше скрытое поле.