2012-06-13 2 views
1

Я довольно новичок в разработке Word Addin. К счастью, я смог сделать почти все, но застрял в какой-то простой проблеме, которую я верю.Добавление контроля содержимого генерирует исключение динамически

Я хочу динамически вставлять текстовые элементы управления в выбранном диапазоне. Для этого я использую следующее:

currentDocument = application.ActiveDocument; 
    foreach(var field in myFieldsList) 
    {  
     Microsoft.Office.Interop.Word.Range rng = currentDocument.ActiveWindow.Selection.Range; 
     object oRng = rng; 
     var contentControlPlain = application.ActiveDocument.ContentControls.Add(Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlText, ref oRng); 
     contentControlPlain.Tag = formField.FormFieldId.ToString(); 
     contentControlPlain.SetPlaceholderText(null, null, " <" + formField.FormFieldName + "> "); 
     contentControlPlain.LockContentControl = (formField.TypeName.Trim() == "Blank"); 
    } 

код, кажется, работает нормально, но когда я пытаюсь вставить второе поле он жалуется, говоря:

Этот метод или свойство не существует, потому что текущий выбор частично охватывает элемент управления текстовым контентом.

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

Спасибо.

+0

управления контентом На данный момент я зафиксировал это путем вызова Range.InsertParagraphAfter() после добавления каждого элемента управления содержимым. Но снова я должен был вставлять элементы управления содержимым в одну строку, но таким образом я вставляю один элемент управления в каждую строку. :(Какие-либо предложения?? – WPFKK

ответ

1

После добавления каждого использования

Application.Selection.Start = lastControl.Range.End+1 
Смежные вопросы