VB.NET Microsoft Office Interop书签

时间:2011-06-20 12:49:51

标签: vb.net visual-studio ms-word office-interop bookmarks

我正在开展一个项目,其中包括自动填写一些模板。我计划使用单词书签来创建模板,然后通过VB填充它们。这没问题,但问题是我想允许使用其他模板。有没有办法可以打开word文档并从中获取所有书签?我需要一个列表,所以我可以确定哪些能够填写,然后发送正确的值。如果您需要复习,这是我正在使用的代码。

    Imports Microsoft.Office.Interop


    Dim oWord As Word.Application
    Dim oDoc As Word.Document

    oWord = CreateObject("Word.Application")
    oWord.Visible = True
    oDoc = oWord.Documents.Add("Z:\DJ\Documents\Reminder_Letter.doc")
    oDoc.Bookmarks("full_name").Range.Text = "John Smith"

基本上,我只想确保在尝试向其中添加值之前文档中存在“full_name”,因此我需要文档中的书签列表。

谢谢, 凯文

2 个答案:

答案 0 :(得分:3)

只需遍历书签集合,检查名称。

这样的东西
   For each bm in oDoc.bookmarks
       if bm.Name = "blah" then
           'this is my bookmark
       end if
   next

答案 1 :(得分:3)

使用书签集合的Exists功能会更快:

 oDoc.Bookmarks.Exists("bookmark name")