2014-01-29 3 views
0

Я использую interop.Word для создания документа Word программно.
В документе у меня есть определенный диапазон, на который я бы хотел вставить текст.Вставка текста в диапазон слов

Когда я Google это я вижу, что способ сделать это:

range.Text=" Whatever..."; 

, но у меня нет «Текст» свойство для объекта диапазона.

Любые идеи?

+0

Как вы получаете ассортимент? – Andrei

+0

@Andrei 'Range range = wordApp.ActiveDocument.TablesOfFigures [i] .Range;' например, и я хотел бы дать надпись перед «Таблицей рисунков». Спасибо за быстрый ответ. – user3165438

+0

Откуда вы знаете, что такой собственности нет? У вас ошибка компиляции? – Andrei

ответ

1

Для вопроса orignal - это всего лишь ошибка intellisense, существует такое свойство в классе Range.

Для задачи с комментариями, которые

Range range=wordApp.ActiveDocument.TablesOfFigures[i].Range; 
range.Text=" Whatever..."; 

заменяет TOF вместо предваряя его с текстом. Если вы просто хотите, чтобы установить заголовок таблицы, вы можете использовать Caption:

wordApp.ActiveDocument.TablesOfFigures[i].Caption = "Header text"; 

Однако, если вам нужен некоторый текст предшествующего в TOF - проверить это thread, который обсуждает подобный случай, но для списка вместо Таблица рисунков.

Другой способ установить заголовок, чтобы выбрать диапазон вам нужно, и позвонить InsertCaption:

wordApp.ActiveDocument.TablesOfFigures[i].Range.Select(); 
wordApp.Selection.InsertCaption("Whatever"); 

InsertCaption Обратите внимание, что принимает различные аргументы различных типов, не забудьте попробовать разные.

+0

@ Andrey Спасибо за подробный ответ. Когда я использую код выше, tof не обновляется, хотя я его обновляю! – user3165438

+0

@ user3165438, обновленный еще одной идеей – Andrei

+0

@ Andrey, Спасибо за уведомление! Я пробовал новую идею с разными значениями, но программа терпит неудачу! Какие точно работают? – user3165438

0

Если вы хотите вставить текст в позицию диапазона, вы можете использовать Range.InsertBefore.

Range range=wordApp.ActiveDocument.TablesOfFigures[i].Range; 
range.InsertBefore("My Text here. "); 
Смежные вопросы