View Single Post
  #10   Report Post  
Posted to microsoft.public.word.pagelayout
Doug Robbins - Word MVP Doug Robbins - Word MVP is offline
external usenet poster
 
Posts: 8,832
Default Problems creating Macros

I responded to your identical post in the VBA General Newsgroup - admitedly
without giving a direct solution to your problem, but advising that you
would have to provide more information (the code at least) to be able to
provide assistance.

--
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

"USEN" wrote in message
...
Hi Steven,

You seem to know quite a bit about Macros & VBA...perhaps you can help me
as
well....

I have Office 2007, but I've designed a template and a Macro for an
employer who has people using both Word 2002 and 2003. Since it's for
someone else with a different versions of Word, I can't store it normally.
Since I don't know the file structure of their computers, I figured it
would
be best to just create a folder on my C-drive so that they can store it
in
the same place when I send it to them. Here's the problem.

I've designed 2 templates. The first template needs to call up the 2nd
and
place the contents of the 2nd template at the top of various pages in the
1st
one. That's where the macro comes in. It inserts a page break then opens
the 2nd template, copies the contents and then pastes those contents at
the
top of the new page. I purposely instructed the Macro so save in the
normal.dotm file so that it could be run from any other file when the
keyboard shortcut is used. It works like a charm from within the first
template as long as the template itself is open. However, when I attempt
to
use the template as it is designed to be used...meaning that it opens a
copy
of itself in a temporary document (Document1, Document2, etc.), then the
Macro fails to work. I get errors stating that part of the component set
is
missing...the actual template that has opened a copy of itself instead of
the
original.

I've deleted and re-recorded this Macro so many times...but the results
are
always the same. What am I doing wrong? I have been trying to get this
done
for over 5 hours now. Is it because the documents are not being stored in
the folders that Word normally stores them in?

Can anyone please give me some suggestions?

Thanks!
USEN

"StevenM" wrote:

Assuming you need more than one page setup, you might try modifing the
following to your needs. If you only need one page setup, you should
create a
new template.

Sub TestPageSetup()
Dim nColumns As Long
Dim pColWidth As Single
Dim pColGutter As Single
Dim pTop As Single
Dim pBottom As Single
Dim pLeft As Single
Dim pRight As Single
Dim pWidth As Single
Dim oRange As Range
Dim footerRange As Range

pTop = 6
pBottom = 6
pLeft = 6.5
pRight = 6.5
pColGutter = 3
nColumns = 2
pColWidth = (51 - (pColGutter + pRight + pLeft)) / nColumns

Set oRange = ActiveDocument.Range(Start:=ActiveDocument.Range.S tart,
End:=ActiveDocument.Range.End)

With oRange.PageSetup
.TopMargin = PicasToPoints(pTop)
.BottomMargin = PicasToPoints(pBottom)
.LeftMargin = PicasToPoints(pLeft)
.RightMargin = PicasToPoints(pRight)
End With

With oRange.PageSetup.TextColumns
.SetCount NumColumns:=nColumns
.EvenlySpaced = True
.LineBetween = False
.Width = PicasToPoints(pColWidth)
.Spacing = PicasToPoints(pColGutter)
End With

Set footerRange =
oRange.Sections(1).Footers(wdHeaderFooterPrimary). Range

With footerRange
.Delete
With .ParagraphFormat.TabStops
.ClearAll
pWidth = 51 - (pLeft + pRight)
.Add Position:=PicasToPoints(pWidth / 2),
Alignment:=wdAlignTabCenter
.Add Position:=PicasToPoints(pWidth),
Alignment:=wdAlignTabRight
End With
.InsertAfter vbTab & vbTab & "Page "
.MoveEnd unit:=wdCharacter, Count:=1
.Collapse wdCollapseEnd
oRange.Fields.Add Range:=footerRange, Type:=wdFieldPage
.MoveEnd unit:=wdCharacter, Count:=1
.Collapse wdCollapseEnd
.InsertAfter vbCr
End With
End Sub


"Gabe" wrote:

I'm trying to create a macro to change my margins, make a document have
2
cols., and insert a page number at the end of the page using a keybord
command.
No matter how I try or which order I try these steps, I get the debug
error
5941.
I don't know what that means, I don't know what i've done wrong.

Can anybody help?

Thanks,

Gabe