Home All Groups Group Topic Archive Search About

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

Author
9 Apr 2010 8:47 AM
Barry
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.

Author
9 Apr 2010 8:53 AM
Armin Zingler
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
Author
9 Apr 2010 9:56 AM
Barry
On 9 Apr, 09:53, Armin Zingler <az.nos***@freenet.de> wrote:
Show quoteHide quote
> 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