Почему этот метод буквально удаляет диапазон закладок? C# - PullRequest
0 голосов
/ 03 августа 2020

Я работаю в C# над программой, и один фрагмент программы должен заменить некоторый текст закладки, но только текст и диапазон закладки должны быть такими же, как длина текста, который я вставил.

Я искал об этом, но я застрял с этим методом:

internal void BookMarkReplaceNative(Document doc,
                Bookmark bookmark,
                string newText)
        {
            object rng = bookmark.Range;
            string bookmarkName = bookmark.Name;

            bookmark.Range.Text = newText;

            doc.Bookmarks.Add(bookmarkName, ref rng);
        }

В одном примере (CONTR_L - строка):

Bookmark NR_CONTR =doc.Bookmarks.get_Item("NR_CONTR");
BookMarkReplaceNative(doc,NR_CONTR, CONTR_L);

Проблема в том, что когда-то программа замените текст, диапазон - это только начало текста, до первой буквы.

В чем проблема?

Ответы [ 2 ]

0 голосов
/ 12 августа 2020

Bookmark original.png

Итак, вот моя закладка, вы видите здесь выделение или то, что он называется для закладки «NR_CONTRACT_PRELUNGIRE», и программа меняет это правильно?

Итак, когда я меняю местами, он становится таким, например,

Закладка swapped.png

Но диапазон или выбор для закладки теряется, это не «7», а просто мигающий курсор перед «7».

Но я хочу (например), чтобы выбор или диапазон закладки был «7»

0 голосов
/ 11 августа 2020

Основываясь на моем исследовании, я могу использовать следующий код для успешной замены текста закладки.

        using Word = Microsoft.Office.Interop.Word;
        Word.Application application = new Word.Application();
        Word.Document document = application.Documents.Open("D:\\1.docx");
        application.Visible = true;
        document.Bookmarks["First"].Select();
        application.Selection.TypeText("Firstbook");
        document.Save();
        application.Quit();

Результат:

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...