2015-06-01 2 views
-2

Я пытаюсь получить доступ к текстовому приложению с C#.Добавление текста после определенного текста в слово

Я хочу написать абзац, как только найду конкретный текст в текстовом файле.

Например, если я найду текст/заголовок «Адрес» в слове doc, ниже этого, я бы написал полный адрес в качестве содержимого.

Я пытаюсь подойти к этому, получив контроль над курсором и разместив его после того, как найду адрес, но не могу этого сделать. Может кто-нибудь, пожалуйста, прошу прощения за то же самое.

+0

Какой код у вас есть? Где вы застреваете или имеете проблемы? –

ответ

0

Похоже, что вы хотите вставить текст в документ в заданном месте. Если это правда, вам следует рассмотреть возможность использования функции закладок Word вместо поиска произвольного текста типа «Адрес». Вы можете определять имена закладок в документе Word (используя команду «Вставка»> «Закладка»). Закладки легко доступны из C#, что позволяет вставлять или заменять текст в этом месте.

Например, создайте новый документ Word и введите произвольный текст. Выберите текст, который вы хотите заменить, затем нажмите «Вставить»> «Закладка» и назовите закладку «BOOKMARK1». Сохраните и закройте документ. Теперь вы можете использовать код вроде следующего, чтобы заменить текст:

var app = new Microsoft.Office.Interop.Word.Application(); 
var document = app.Documents.Open("c:\\temp\\interoptest.docx"); 
document.Bookmarks["BOOKMARK1"].Range.Text = "This text has been replaced."; 
document.Save(); 
app.Quit(SaveChanges: false); 

Обратите внимание, что вам нужно, чтобы добавить ссылку на библиотеку объектов Microsoft Word для приведенного выше кода для компиляции. Эта библиотека находится в разделе COM при добавлении ссылок в самую последнюю версию Visual Studio.

+0

Здравствуйте, Большое спасибо за помощь. На самом деле, я не хочу заменять текст с закладками, я пытаюсь вставить абзац после определенного текста, который может присутствовать где угодно во всем слове doc. Итак, если я могу получить диапазон следующей строки после желаемого слова, я могу поместить свое содержимое после этого слова. Не могли бы вы помочь мне с тем же. –

+0

Свойство Range закладки имеет метод InsertAfter, который позволит вам вставлять текст. – RogerN

Смежные вопросы