Отметить место в текстовом документе - PullRequest
2 голосов
/ 06 августа 2011

Как я могу пометить «место» (это может быть текстовая область или текстовое поле) в текстовом документе?Я попытался вставить элемент управления в виде простого текста в мой документ, но когда я посмотрел на сгенерированный XML, не было «псевдонима» для этого элемента управления в виде простого текста.Весь код, который я видел для его получения, должен иметь псевдоним.Что я делаю неправильно?И есть ли другой более простой способ легко «пометить» место в документе и получить текст, который в нем находится позже?(Пользователь будет вводить текст ...)

Ответы [ 2 ]

1 голос
/ 10 августа 2011

Как правило, вы используете закладку. Вы можете отметить определенное место или вы можете добавить в закладки (область). Они именно то, что вы хотите, и вы найдете их чрезвычайно полезными.

Проверьте http://openxmldeveloper.org/blog/b/openxmldeveloper/archive/2006/10/09/719.aspx, это должно помочь вам начать.

WordprocessingML

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

В Visual Studio я смог использовать конструктор для настройки свойств элемента управления в виде простого текста. В свойствах есть свойство "tag", которое я установил для имени, которое я хотел для своего тега. Затем, используя этот метод, я смог найти элемент управления позже:

WordprocessingDocument document = WordprocessingDocument.Open(file.OpenBinaryStream(), true);

        var docPart = document.MainDocumentPart;
        // Find the first content control whose Alias property
        // matches the supplied name.
        var sdts = docPart.Document.Descendants<Tag>();
        foreach (var sdt in sdts)
        {
            string value = (string)sdt.Val;

            if (value.Equals(contentControlTag))
            {
                oxe = sdt;
                break;
            }
        }

        return oxe;
...