2012-03-09 2 views
1

Я работаю над проектом автоматизации слова в C# и использую библиотеку слов interop для чтения/записи в слово. В настоящее время я использую закладки в документе слова doc, чтобы найти, где писать информацию, в слово doc из C#. Одна из моих закладок состоит из двух выделенных строк в документе. Основываясь на логическом значении, я должен решить, следует ли оставить этот текст там и добавить новую строку текста сразу после него или удалить те существующие две строки из документа.Word automation add/delete text

Так вот мой псевдо для него:

if (writeToDoc) 
{ 
// leave selected bookmark text intact and press enter to write another line right after 
} 
else 
{ 
//delete the selected bookmark text 
} 

Может кто-нибудь пожалуйста, покажите мне, как удалить существующий текст, а также сделать эквивалент нажатия ввода и записи другой строки из C#?

Благодаря

EDIT: Вот код, я (примерно)

foreach (var bookmark in wordDoc.Bookmarks) 
    { 
     var bookMarkNameExistsInCode = listOfBookmarks.Contains(wordDoc.Bookmarks[bookmark].Name); 
     if (bookMarkNameExistsInCode) 
     { 
      object oBookMarkName = wordDoc.Bookmarks[bookmark].Name; 
      rng = wordDoc.Bookmarks.get_Item(ref oBookMarkName).Range; 
      // at this point i am pointing to the two selected lines labelled as a bookmark in word. How can i deselect and add a new line? 
     } 
     } 
+1

Это может помочь опубликовать некоторые из кода, который у вас есть до сих пор: например, загрузка части, в которой находится текстовый блок, с которым вы хотите работать. . Таким образом, люди могут немного расширить свои мысли вместо того, чтобы начать с нуля. – NotMe

+0

. Надеюсь, поможет! –

ответ

0

Если манипуляция слово делается на DocX файлов вы можете использовать DocX библиотеку и использовать некоторые очень простые команды, такие как text.ReplaceText(); и другие очень простые/интуитивные команды. Замена Interop с DocX, если это возможно, должно быть запущено в кратчайшие сроки :)

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