Copy Word Doc Bookmarks from One Document to another (VB.net)

  • Follow


I am try to copy bookmark from one word doc to another, find all the
bookmark and select them etc.

I can create the bookmark in the second word doc, with the correct
name.


The problem is set the location of the bookmark


Any help here would be great


WrdDoc is the destination doc
WrdTemplate is the source doc


-----------------------------------------


If WrdDoc.Bookmarks.Count = 0 Then
            '# Set Template Document Path
            Dim strTemplatePath As String = "C:\Temp\test.doc"


            '# Open Template
            WrdTemplate = WrdApp.Documents.Open(strTemplatePath)


            '# Get BookMarks
            For Each BookMark As Word.Bookmark In
WrdTemplate.Bookmarks
Debug.Print(BookMark.Name.ToString)
                     ----    WrdDoc.Bookmarks.Add(BookMark.Name,
bookmark.range)   ------- Problem Here


            Next
            WrdTemplate.Close()


i get the following error


The specified range is not from the correct document or story.


Understand what the error is saying, but have not got a clue to how
to
get around it.
0
Reply Barry 4/9/2010 8:47:17 AM

Am 09.04.2010 10:47, schrieb Barry:
> i get the following error
> 
> 
> The specified range is not from the correct document or story.
> 
> 
> Understand what the error is saying, but have not got a clue to how
> to
> get around it.

I think you have a Word automation problem, not a VB.Net problem.
The guys in the Word VBA group should know it.


-- 
Armin
0
Reply Armin 4/9/2010 8:53:30 AM

On 9 Apr, 09:53, Armin Zingler <az.nos...@freenet.de> wrote:
> Am 09.04.2010 10:47, schrieb Barry:
>
> > i get the following error
>
> > The specified range is not from the correct document or story.
>
> > Understand what the error is saying, but have not got a clue to how
> > to
> > get around it.
>
> I think you have a Word automation problem, not a VB.Net problem.
> The guys in the Word VBA group should know it.
>
> --
> Armin

It okay i have work it out

 For Each BookMark As Word.Bookmark In WrdTemplate.Bookmarks
         Dim NewRange As Word.Range
         NewRange = WrdDoc.Range(BookMark.Range.Start,
BookMark.Range.End)
         WrdDoc.Bookmarks.Add(BookMark.Name, NewRange)
Next

Thanks
0
Reply Barry 4/9/2010 9:56:56 AM

2 Replies
1080 Views

(page loaded in 0.055 seconds)

8/6/2012 1:15:32 PM


Reply: