letters using predefined word templates.
Include the code in a button and try it.
'Defining variables
Dim myApp As Variant
Dim tmp as string
'Starting ms word as a ole object
Set myApp = CreateObject("Word.Application")
'Hiding word from the user
myApp.Visible = False
'Opening the template as a new doc, change tmp$ to the needed template path
myApp.Documents.Add (tmp$)
'Selecting what bookmark to write to
myApp.ActiveDocument.Bookmarks("WhoTo").Select
'Define what you need to write in tmp$
'Then write it to the bookmark
myApp.Selection.TypeText(tmp$)
'Setting word to print in the foreground, i do this to prevent the rest of the
code to execute before word is finished
myApp.Options.PrintBackground = False
'Starting printing
myApp.ActiveDocument.PrintOut
'Closing the word document without saving changes
myApp.Documents.Close(wdDoNotSaveChanges)
'Closing word
myApp.Application.Quit
'Releasing myapp
Set myApp = Nothing
Finished. We use this together with templates that uses sub forms that need
inputs from the user before launching the document. Please feel free to contact
us for any further information on this isue.
geirr.winnem@ephorate.com
This was first published in November 2000