Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.word.pagelayout
|
|||
|
|||
![]()
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 |
#2
![]()
Posted to microsoft.public.word.pagelayout
|
|||
|
|||
![]()
Can you explain why you're using a macro instead of a template for this?
-- Suzanne S. Barnhill Microsoft MVP (Word) Words into Type Fairhope, Alabama USA "Gabe" wrote in message ... 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 |
#3
![]()
Posted to microsoft.public.word.pagelayout
|
|||
|
|||
![]()
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 |
#4
![]()
Posted to microsoft.public.word.pagelayout
|
|||
|
|||
![]()
I guess I should have said I'm trying to RECORD a macro, I don't know
anything about the language you're using, maybe I should. I'll look into creating a Template. By the way someone sent me an email with a website that they said would answer my question. The website was blank. Thanks, Gabe "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 |
#5
![]()
Posted to microsoft.public.word.pagelayout
|
|||
|
|||
![]() Suzanne: That's a good question, BUT I don't know what a template is. I do intend to find out. I have been using Word/97 and it was very easy to record a Macro to do what I've been trying to do in Word/2007. I guess my statment should have been I'm trying to RECORD a Macro. Thanks, Gabe "Suzanne S. Barnhill" wrote: Can you explain why you're using a macro instead of a template for this? -- Suzanne S. Barnhill Microsoft MVP (Word) Words into Type Fairhope, Alabama USA "Gabe" wrote in message ... 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 |
#6
![]()
Posted to microsoft.public.word.pagelayout
|
|||
|
|||
![]()
The reason I asked is that everything you're trying to do with a macro can
be achieved much more simply in a template; see http://word.mvps.org/FAQs/Customizat...platePart1.htm. When you don't choose any other template, your documents are based on Normal.dot (or Normal.dotm in Word 2007), but you can have as many templates as you like, and it makes sense to create a template for any specific type of formatting you use frequently. If you use some different settings for *all* documents, you may want to customize Normal.dot instead (see http://word.mvps.org/FAQs/Customizat...lTemplate.htm), but adding page numbers or columns to Normal.dot is not recommended. -- Suzanne S. Barnhill Microsoft MVP (Word) Words into Type Fairhope, Alabama USA "Gabe" wrote in message ... Suzanne: That's a good question, BUT I don't know what a template is. I do intend to find out. I have been using Word/97 and it was very easy to record a Macro to do what I've been trying to do in Word/2007. I guess my statment should have been I'm trying to RECORD a Macro. Thanks, Gabe "Suzanne S. Barnhill" wrote: Can you explain why you're using a macro instead of a template for this? -- Suzanne S. Barnhill Microsoft MVP (Word) Words into Type Fairhope, Alabama USA "Gabe" wrote in message ... 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 |
#7
![]()
Posted to microsoft.public.word.pagelayout
|
|||
|
|||
![]()
http://www.gmayor.com/installing_macro.htm will explain what to do with vba
listings. -- Graham Mayor - Word MVP My web site www.gmayor.com Word MVP web site http://word.mvps.org Gabe wrote: I guess I should have said I'm trying to RECORD a macro, I don't know anything about the language you're using, maybe I should. I'll look into creating a Template. By the way someone sent me an email with a website that they said would answer my question. The website was blank. Thanks, Gabe "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 |
#8
![]()
Posted to microsoft.public.word.pagelayout
|
|||
|
|||
![]()
There is also an old-fashioned resource, one which some of us old-timers
still like to use, it is called a €śbook.€ť It might be hard for some of you youngsters to imagine, but some of us old-timers read information on paper as well as information on a screen. And Im not talking about a printout, but something more than a handful of loose pages. A €śbook€ť is actually pages of printed paper sewn (or glued) together, with a cloth (or cardboard) cover. I would recommend you finding a book on Microsoft Word, they will have chapters on creating a template, or working with macros. Such books usually go into more detail than the (otherwise wonder) tutorials you find on the Internet. You can find books for sale (new and used) on the Internet, or you can try locating a place which warehouses and sells them, it is called a €śbookstore.€ť Just ask any old geezer where one might be, they will be able to give you directions. "Gabe" wrote: I guess I should have said I'm trying to RECORD a macro, I don't know anything about the language you're using, maybe I should. I'll look into creating a Template. By the way someone sent me an email with a website that they said would answer my question. The website was blank. Thanks, Gabe "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 |
#9
![]()
Posted to microsoft.public.word.pagelayout
|
|||
|
|||
![]()
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 |
#10
![]()
Posted to microsoft.public.word.pagelayout
|
|||
|
|||
![]()
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 |
Reply |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Problems with Macros | Microsoft Word Help | |||
Creating my own symbols for my macros | Microsoft Word Help | |||
creating macros in word | Microsoft Word Help | |||
Two problems with macros | Microsoft Word Help | |||
Creating headers using macros | Microsoft Word Help |