Я извлек соответствующую часть из вашего кода, чтобы было легче следовать.
Я предполагаю, что в этом примере текст должен быть вставлен в конец документа и отформатирован как "зачеркнутый".Обратите внимание, как я объявляю объект Word.Range
и назначаю ему тело документа.Чтобы понять, как это работает, представьте диапазон как выделение, но у вас может быть более одного, и он не виден в документе.
Следующая строка «сворачивает» диапазон до конечной точки - как нажатие стрелки вправо.Если вы сделали , а не , чтобы свернуть диапазон, назначенный ему текст будет заменять того, что находится в документе (например, слишком многократное выделение выделения).Затем текст присваивается диапазону и применяемому зачеркиванию.
Обратите внимание, что в старые базовые дни Word «истина» и «ложь» не были понятиями, используемыми для настройки оформления шрифта.Объектная модель Word по-прежнему использует эти старые команды Word Basic.Под обложками они все еще используют -1 для истины и 0 для ложных (а иногда 1 для чего-то еще).В то время как языки VB могут использовать «псевдо-логические» настройки (true / false), которые были добавлены в объектную модель для удобства, C # не «видит» их, поэтому вам нужно -1 для true.
//adding text to document
object oCollapseEnd = Word.WdCollapseDirection.wdCollapseEnd;
Word.Range rng = document.Content;
rng.Collapse(ref oCollapseEnd);
rng.Text = input.ToString();
rng.Font.Strikethrough = -1; // 0 for false