Inside the " " in place of the ... you need to type the
drive:\path\filename.doc of the document that you created.
Similarly for the Set souceb
--
Hope this helps.
Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.
Doug Robbins - Word MVP
"Karen Jernigan" wrote in message
...
Now I get an error message that it can't find the file. I've never worked
with Macros before so I'm not really sure what to look for.
Here's the Macro string pertaining to the file name.
Set sourcea = Documents.Open(FileName:="...")
"Doug Robbins - Word MVP" wrote:
The code that you have shown needs to be prefaced by Sub Something()
e.g
Sub CombineDocs()
code
End Sub
--
Hope this helps.
Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.
Doug Robbins - Word MVP
"Karen Jernigan" wrote in
message
news
Hi Doug,
I followed the instructions and am getting the following error when I
try
to
run the Macro - Compile Error. Invalid Outside Procedure. Thanks so
much
for
your help!
Here's how the Macro looks:
Dim sourcea As Document, sourceb As Document, target As Document, Pages
As
Integer, Counter As Integer, targetrange As Range 'targetrange added
Dim
evenpage As Range
Set sourcea = Documents.Open(FileName:="...")
sourcea.Repaginate Pages =
ActiveDocument.BuiltInDocumentProperties(wdPropert yPages)
MsgBox Pages
Set sourceb = Documents.Open(FileName:="...")
Set target = Documents.Add
target.PageSetup.LeftMargin = sourcea.PageSetup.LeftMargin
target.PageSetup.RightMargin = sourcea.PageSetup.RightMargin
target.PageSetup.TopMargin = sourcea.PageSetup.TopMargin
target.PageSetup.BottomMargin = sourcea.PageSetup.BottomMargin
target.AcceptAllRevisions
Counter = 0
While Counter Pages
sourcea.Activate
ActiveDocument.Bookmarks("\page").Range.Copy
Set targetrange = target.Range
targetrange.Start = targetrange.End
targetrange.Paste
ActiveDocument.Bookmarks("\page").Range.Cut
sourceb.Activate 'Assumed to be the document containing the even pages
Selection.EndKey Unit:=wdStory 'Line of code added to start from the
end
of
the document
ActiveDocument.Bookmarks("\page").Range.Copy
Set targetrange = target.Range
targetrange.Start = targetrange.End
targetrange.Paste
targetrange.Start = targetrange.End
targetrange.InsertBreak Type:=wdPageBreak
Set evenpage = ActiveDocument.Bookmarks("\page").Range
evenpage.Start = evenpage.Start - 1
evenpage.Delete
Counter = Counter + 1
Wend
sourcea.Close wdDoNotSaveChanges
sourceb.Close wdDoNotSaveChanges
Sub MergeDocs()
'
' MergeDocs Macro
' Macro created 6/29/2006 by Karen Jernigan
'
End Sub
"Doug Robbins - Word MVP" wrote:
see http://www.gmayor.com/installing_macro.htm
--
Hope this helps.
Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.
Doug Robbins - Word MVP
"Karen Jernigan" wrote in
message
...
I'm afraid I don't know where to begin to run the macro.
"Doug Robbins - Word MVP" wrote:
Execute each merge to a new document, save (I would call one
"front"
and
the
other "back") and close each one, then run the macro and it will
ask
you
to
open each one in turn.
--
Hope this helps.
Please reply to the newsgroup unless you wish to avail yourself of
my
services on a paid consulting basis.
Doug Robbins - Word MVP
"Karen Jernigan" wrote in
message
...
Thanks, Doug! From where do I begin this process?
"Doug Robbins - Word MVP" wrote:
The following code was put together for someone who wanted to
compile
a
document by taking alternate pages from separate files. If you
were
to
execute two separate mail merges to individual documents, you
could
use
this
code to then combine them into one.
Dim sourcea As Document, sourceb As Document, target As
Document,
Pages
As Integer, Counter As Integer, targetrange As Range
'targetrange
added
Dim evenpage As Range
Set sourcea = Documents.Open(FileName:="...")
sourcea.Repaginate
Pages =
ActiveDocument.BuiltInDocumentProperties(wdPropert yPages)
MsgBox Pages
Set sourceb = Documents.Open(FileName:="...")
Set target = Documents.Add
target.PageSetup.LeftMargin = sourcea.PageSetup.LeftMargin
target.PageSetup.RightMargin = sourcea.PageSetup.RightMargin
target.PageSetup.TopMargin = sourcea.PageSetup.TopMargin
target.PageSetup.BottomMargin =
sourcea.PageSetup.BottomMargin
target.AcceptAllRevisions
Counter = 0
While Counter Pages
sourcea.Activate
ActiveDocument.Bookmarks("\page").Range.Copy
Set targetrange = target.Range
targetrange.Start = targetrange.End
targetrange.Paste
ActiveDocument.Bookmarks("\page").Range.Cut
sourceb.Activate 'Assumed to be the document containing
the
even
pages
Selection.EndKey Unit:=wdStory 'Line of code added to
start
from
the
end of the document
ActiveDocument.Bookmarks("\page").Range.Copy
Set targetrange = target.Range
targetrange.Start = targetrange.End
targetrange.Paste
targetrange.Start = targetrange.End
targetrange.InsertBreak Type:=wdPageBreak
Set evenpage = ActiveDocument.Bookmarks("\page").Range
evenpage.Start = evenpage.Start - 1
evenpage.Delete
Counter = Counter + 1
Wend
sourcea.Close wdDoNotSaveChanges
sourceb.Close wdDoNotSaveChanges
--
Hope this helps.
Please reply to the newsgroup unless you wish to avail yourself
of
my
services on a paid consulting basis.
Doug Robbins - Word MVP
"Karen Jernigan" wrote
in
message
...
I've been searching for hours and can't figure this out!
I need to layout two unique 4x6 postcards on an 8.5x11 sheet
with
different
text on the backside. Side 1 has a return address and the
recipient
address.
Side 2 has dear recipient first name and one or two unique
merge
fields
along
with non-merged text and an image. I'm merging from Excel and
each
record
is
on a single line. The final merged doc needs to be page 1 -
the
first
two
postcards, page 2 - the back side of the first two postcards,
page
3 -
the
third and fourth postcards, page 4 - the back side of the
third
and
fourth
postcards, etc. I can't get side 2 to populate from Excel. I
thought
about
just making two docs and print side one then side two on the
backside,
but
I
need to duplex the print job so I can't.
Thanks for the help!
kj