Microsoft Word VSTO Addin - замена закладок без их удаления - PullRequest
1 голос
/ 27 января 2012

Я работаю над надстройкой Word 2010 для шаблона слова, который мы используем.У меня есть несколько закладок на странице, и их содержимое можно изменить с помощью различных мастеров в надстройке.

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

Добавление таблицы:

bookmark.Range.Tables.Add(bookmark.Range, rowCount, columnCount, ref _objectMissing, ref _objectMissing);

Добавление изображения:

InlineShape shape = bookmark.Range.InlineShapes.AddPicture(path, ref _objectMissing, ref _objectMissing, ref _objectMissing);

Iнеобходимо сделать это без удаления закладки, чтобы я мог вернуться и заменить изображение, если пользователь снова запустит мастер.Будем очень благодарны за любые идеи, как это сделать!

1 Ответ

2 голосов
/ 31 января 2012

Объекты InlineShape и Table имеют свойство Range, которое можно использовать для восстановления закладки, например:

// Keep the name of the bookmark
string bookmarkName = bookmark.Name;
// Insert your image, as before
InlineShape shape = bookmark.Range.InlineShapes.AddPicture(path, ref _objectMissing, ref _objectMissing, ref _objectMissing);
// Restore the bookmark
Object range = shape.Range;
yourDocumentVariable.Bookmarks.Add(bookmarkName, ref range);
...