Chris,
You're swimming in the deep end!
As I understand it, you want:
1. Multiple reports (by state)
2. Export out/Import into Word
3. Make Word save the documents.
4. Zip the documents.
5. Send out as e-mail.
Each of these is a challenge by itself!
And the group is beyond my capabilities. It IS a candidate for an Office collaboration expert…
(THAT’S A HINT TO OTHERS WHO READ THIS)
I've run across post(s) here that explain how to generate e-mails from Access using Outlook.
Good luck and I’ll be monitoring the post, although I doubt there’s much more I can do.
Bob
You can start with the following thread and an excert of the code. Note the loop is not quite the same as I wasn’t aware of “do until RST.eof” when I worked on that. Note that when multiple reports are generated in one pass, you must write code to assign different file names.
thread703-624967
Dim rptdate As String
Dim Path As String
Dim fullpath As String
Dim dbThis As Database
Dim rsetTeams As DAO.Recordset
Dim intCount As Integer
Set dbThis = CurrentDb
Set rsetTeams = dbThis.OpenRecordset("tlkpteam"
' Following to include Yesterday's date as part of each snapshot file name.
rptdate = Format((Date - 1), "mm"

& "-" & Format((Date - 1), "dd"

& "-" & Format((Date - 1), "yy"
' SET PATH FOR SNAPSHOT OUTPUT - NOTE THAT "TEAM" IS PART OF THE RESULTING FILE NAME
' *** SET PATH
Path = "M:\Shareall\Team Reports\All-In-One Reports\TEAM "
' FOLLOWING IS REQUIRED TO SET RecordCount TO THE NUMBER OF RECORDS IN THE DATASET
rsetTeams.MoveLast
rsetTeams.MoveFirst
For intCount = 1 To rsetTeams.RecordCount
' rsetTeams(1) REFERS TO THE FIELD lkupTeam (2ND COLUMN) WHICH CONTAINS TEAM NUMBER (ALPHABETIC)
fullpath = Path & rsetTeams(1) & " " & rptdate & ".snp"
DoCmd.OpenReport "rptTEAM", acPreview, "", "[team]=""" & rsetTeams(1) & """"
DoCmd.OutputTo acReport, "rptTEAM", "SnapshotFormat(*.snp)", fullpath, False, ""
DoCmd.Close acReport, "rptTEAM"
rsetTeams.MoveNext
Next intCount
FOLLOWING IS THE SYNTAX FOR THE OUTPUTTO COMMAND:
DoCmd.OutputTo objecttype[, objectname][, outputformat][, outputfile][, autostart][, templatefile]
The OutputTo method has the following arguments.
Argument Description
objecttype One of the following intrinsic constants:
acOutputDataAccessPage
acOutputForm
acOutputModule
acOutputQuery
acOutputReport
acOutputServerView
acOutputStoredProcedure
acOutputTable
objectname A string expression that's the valid name of an object of the type selected by the objecttype argument. If you want to output the active object, specify the object's type for the objecttype argument and leave this argument blank.
If you run Visual Basic code containing the OutputTo method in a library database, Microsoft Access looks for the object with this name first in the library database, then in the current database.
outputformat One of the following intrinsic constants:
acFormatASP
acFormatDAP
acFormatHTML
acFormatIIS
acFormatRTF
acFormatSNP
acFormatTXT
acFormatXLS
If you leave this argument blank, Microsoft Access prompts you for the output format.
outputfile A string expression that's the full name, including the path, of the file you want to output the object to.
If you leave this argument blank, Microsoft Access prompts you for an output file name.
autostart Use True (–1) to start the appropriate Microsoft Windows–based application immediately, with the file specified by the outputfile argument loaded. Use False (0) if you don't want to start the application. This argument is ignored for Microsoft Internet Information Server (.htx, .idc) files and Microsoft ActiveX Server (*.asp) files.
If you leave this argument blank, the default (False) is assumed.
templatefile A string expression that's the full name, including the path, of the file you want to use as a template for an HTML, HTX, or ASP file.