The following are macros used for me to make an envelope from my billing
form.
Sub KenyonBillEnvelope()
'
' Envelope Macro
' Macro written 7/5/02 by Charles Kyle Kenyon
' "&chr(10)&"New envelope based on Kenyon Envelope form
' Calls WorkgroupPath Function (below)
' Calls SelectIt subroutine (below)
'
Dim sTemplatesPath As String
Dim sName As String
Dim sAddress As String
Dim sCSZ As String
'
sTemplatesPath = WorkGroupPath & "Letters & Faxes\"
'
' Get address info from bill
'
sName = ActiveDocument.FormFields("Name").Result
sAddress = ActiveDocument.FormFields("Street").Result
sCSZ = ActiveDocument.FormFields("CSZ").Result
'
' Create new envelope document and go to place for inserting address
Documents.Add Template:= _
sTemplatesPath & "Kenyon Legal Envelope.dot", _
NewTemplate:=False
SelectIt (2)
'
'
Selection.Text = sName
SelectIt (2)
Selection.Text = sAddress
SelectIt (2)
Selection.Text = sCSZ
SelectIt (2)
Selection.Text = ""
SelectIt (2)
Selection.Text = ""
SelectIt (1)
Selection.Fields.Add Range:=Selection.Range, _
Type:=wdFieldEmpty, _
Text:="BARCODE \u """ & sCSZ & """", _
PreserveFormatting:=False
End Sub
Private Sub SelectIt(iField As Integer)
' Routine goes to beginning of document and then goes to field
' iField sets number of field to go to
' Used in new document menus
'
Dim iNumber As Integer
Selection.HomeKey Unit:=wdStory
For iNumber = 1 To iField
Selection.NextField.Select
Next iNumber
End Sub
Function WorkGroupPath() As String
' Written by Charles Kenyon
' February 28, 2003
'
' Used by templates menus to set location of templates.
' Returns workgroup tempates path with "\" at the end.
'
' This is needed because if the folder is a network drive rather
' than a folder, it will have the "\" already. If it is a folder,
' it will not have the backslash. This function gives a string
' with the backslash in either case.
'
WorkGroupPath =
Application.Options.DefaultFilePath(wdWorkgroupTemplatesPath)
If Right(WorkGroupPath, 1) <> "\" Then
WorkGroupPath = WorkGroupPath & "\"
End If
End Function
These use an envelope template that has macrobutton fields to insert things
in the address (used for manual typing of an envelope). The key feature is
the statements that get information from particular form fields and put that
information into variables. The variable information is then placed into the
macrobutton fields (replacing the fields). You could use bookmarks in your
envelope template instead.
Hope this helps get you started.
--
Charles Kenyon
Word New User FAQ & Web Directory:
http://addbalance.com/word
Intermediate User's Guide to Microsoft Word (supplemented version of
Microsoft's Legal Users' Guide)
http://addbalance.com/usersguide
See also the MVP FAQ:
http://www.mvps.org/word which is awesome!
--------- --------- --------- --------- --------- ---------
This message is posted to a newsgroup. Please post replies
and questions to the newsgroup so that others can learn
from my ignorance and your wisdom.