2012-01-27 50 views
0

我正在使用Word 2010插件来制作我们正在使用的单词模板。我在页面上有几个书签,可以使用插件中的各种向导来更改它们的内容。Microsoft Word VSTO Addin - 替换书签而不删除它们

我需要现在将图像和表格添加到书签中 - 并且这种方式很好,但是之后立即删除书签。我正在使用下面的代码,将bookmark.Range作为参数传入。

添加表:

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); 

我需要能够做到这一点,但不删除书签,这样我就可以回去更换形象,如果用户再次运行该向导。任何想法如何做到这一点将不胜感激!

回答

1

两个InlineShape和表对象具有可用于恢复书签,这样的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); 
+0

优秀 - 感谢..这是非常有用的代码! – 2012-01-31 08:02:52

+0

如果你有机会 - 你也可以看看这个吗? http://stackoverflow.com/questions/9063832/microsoft-word-vsto-addin-inserting-multiple-tables-inside-a-text-frame – 2012-01-31 08:03:18