VB/MSWord: add new page and copy contents + bookmarks

Using VB I have to add new page to the beginning of the word document and put there same contents including
bookmarks and fields.Need urgent help,please send example!
Who is Participating?
MonchangerConnect With a Mentor Commented:
This should get you started, I covered the basics.
Help on this is available in your VBA help or at:

    ' Open word
    Dim myWord As Word.Application
    Set myWord = CreateObject("Word.Application")
'This is good for debuging while writing your code
'myWord.Visible = True

    ' Open our document
    Dim myDoc As Word.Document
    Set myDoc = myWord.Documents.Open(App.Path & "\Doc1.doc")  ' Enter the path to your document here

    ' Ranges are a basic part of all Office applications. Do some reading about them at :
' http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odeopg/html/deovrtherangeobject.asp   
    Dim myRange As Word.Range
    ' Creation of new page at start of document
    ' Go to start of document
    Set myRange = myDoc.GoTo(wdGoToPage, wdGoToAbsolute, 1)
'Debug note: This would cause the document to center on the set range:
    ' Insert a pagebreak at the current location
    Selection.InsertBreak wdPageBreak
    Set myRange = Nothing
    ' Adding content to the first page
    ' Select start of this page
    Set myRange = myDoc.GoTo(wdGoToPage, wdGoToAbsolute, 1)
    ' Add text before cursor - this is like typing text using the keyboard,
    ' where you move the cursor forward.
    myRange.InsertAfter "This is new text"
    ' Add a carridge return
    myRange.InsertAfter vbCr
    ' Add a field
    myRange.InsertAfter "More text"
    Set myRange = Nothing
    ' Adding fields
    ' Let's put the filename at the start of page one
    Set myRange = myDoc.GoTo(wdGoToPage, wdGoToAbsolute, 1)
'    myRange.Select
    myDoc.Fields.Add myRange, , "FILENAME"

    ' Adding bookmarks
    ' Select the first page
    Set myRange = myDoc.GoTo(wdGoToPage, wdGoToAbsolute, 1)
    ' Add a bookmark - note that bookmark names cannot contain spaces (and various
    ' other characters)
    myDoc.Bookmarks.Add "Page_one", myRange
    ' Cleanup process:
    ' Save the document
    ' Close the document
    Set myDoc = Nothing
    ' Close word
    Set myWord = Nothing

BTW - I use Word 2000 (9.0). It is possible you might have a need a few slight changes if you use something else.

Hope this helps.
Good luck :-)
I forgot to mention ....
Save your document before testing your code on it !!!
This may help you,


Full Source Code available there.

Introducing Cloud Class® training courses

Tech changes fast. You can learn faster. That’s why we’re bringing professional training courses to Experts Exchange. With a subscription, you can access all the Cloud Class® courses to expand your education, prep for certifications, and get top-notch instructions.

soferstamAuthor Commented:
I'm getting error on Selection.InsertBreak saying object refurs to a "framed paragraph".It means probably that I have frames and Selection object got a frame in it.
Do you know how can I make sure to copy everything on a page,including frames,to a newly created page?
Hi soferstam,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    Accept Monchanger's comment(s) as an answer.

soferstam, if you think your question was not answered at all or if you need help, just post a new comment here; Community Support will help you.  DO NOT accept this comment as an answer.

EXPERTS: If you disagree with that recommendation, please post an explanatory comment.
DanRollins -- EE database cleanup volunteer
per recommendation

Community Support Moderator @Experts Exchange
On one machine, office 10 (word 2002), it works fine.
But on the office 9 machine (word 2000) I had to change
Selection.InsertBreak wdPageBreak

myRange.InsertBreak wdPageBreak

because the selection objected was allegedly not defined (error 91) on the Word 2000 machine!

Be careful!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.