Jim Dettman
jimdettman at earthlink.net
Fri Feb 10 10:54:32 CST 2006
John
The code snippets below insert data from a record set.
Jim.
Const pelFldWWBookmark = 0
Const pelFldAccessField = 1
Const pelFldWWFont = 2
Const pelFldWWPoints = 3
Const pelFldWWBold = 4
Const pelFldWWItalics = 5
Const pelFldWWUnderline = 6
Const pelWordMacroRun = 1
Const pelWordFileCloseNoSave = 2
' Begin Automation conversation with Word
' Don't need to intialize mobjWord if it already points to Word
If mobjWord Is Nothing Then
On Error Resume Next
Set mobjWord = GetObject(, "Word.Application")
If Err <> 0 Then
Err = 0
Set mobjWord = CreateObject("Word.Application")
End If
If Err <> 0 Then
MsgBox "Error: Word Automation object could not be created.",
vbCritical + vbOKOnly, strProc
GoTo AutomateWordDone
End If
On Error GoTo AutomateWordErr
End If
' Create a new document for each data record.
Do While Not rstData.EOF
mobjWord.WordBasic.FileOpen varDocAndPath
' Send data, if any, over to document and format it
If varSendFields Then
' Move through tblAutoFields row by row
' and send over data to document
For intJ = 0 To intFieldsRecLim - 1
' Jump to bookmark
mobjWord.Selection.GoTo What:=wdGoToBookmark,
Name:=avarFields(pelFldWWBookmark, intJ)
' Format the font per field specification
mobjWord.WordBasic.FormatFont avarFields(pelFldWWPoints,
intJ), IIf(avarFields(pelFldWWUnderline, intJ), 1, 0), , , , , , , , , , , ,
, , avarFields(pelFldWWFont, intJ), IIf(avarFields(pelFldWWBold, intJ), 1,
0), IIf(avarFields(pelFldWWItalics, intJ), 1, 0)
' Insert the data at the bookmark
mobjWord.WordBasic.INSERT
pelNullToZLS(rstData(avarFields(pelFldAccessField, intJ)))
Next intJ
End If ' varSendFields
Debug.Print "Loaded and formatted data for " & rstData.[Name]
' Print the document, if required
' Otherwise shift focus to document for user edit
If varDocPrint Then
' Print the document if required
' Use a Print Macro if one has been specified
DoEvents
If IsNull(varDocMacroPrint) Then
mobjWord.WordBasic.FilePrint , , , , , , ,
pelNullToZLS(varCopies)
Else
mobjWord.WordBasic.ToolsMacro varDocMacroPrint,
pelWordMacroRun
End If
Debug.Print "Printed document"
End If
DoEvents
DoEvents
If varDocPrint Then
mobjWord.WordBasic.FileClose pelWordFileCloseNoSave
Debug.Print "Executed File Close"
DoEvents
DoEvents
End If
' If requested as one record only,
' it's time to bail out!
If fOneRec Then
Exit Do
Else
rstData.MoveNext
End If
Loop
rstData.Close
Set rstData = Nothing
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of John Colby
Sent: Friday, February 10, 2006 11:47 AM
To: 'Access Developers discussion and problem solving'
Subject: [AccessD] Inserting text in a word document
Does anyone have code to insert lines of text in a word document at a
bookmark?
John W. Colby
www.ColbyConsulting.com
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com