Need some help with VBA modules and Access 2003 macros

I have an access database that automatically writes a snp report called "WeeklyNM" to a drive folder locally using the OutputTo action of the macro. All was well until the powers that be decided they need that report in PDF format. So I found on the internet some code that works with a PDF printer called PDF995 to do this. I pasted the code below into a new module called "modPDFWrite" The instructions on the site I found the code said call the module using the line pdfwrite "ReportName", "c:\folder name". My question is how do I use this with a macro to automate it? I found an OpenModule action but I don't know if that's right or not.

Thanks

Here's the code:

Option Compare DatabaseOption Explicit'Read INI settingsDeclare Function GetPrivateProfileString Lib "kernel32" Alias _ "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _ ByVal lpKeyName As Any, ByVal lpDefault As String, _ ByVal lpReturnedString As String, ByVal nSize As Long, _ ByVal lpFileName As String) As Long'Write settingsDeclare Function WritePrivateProfileString Lib "kernel32" Alias _ "WritePrivateProfileStringA" (ByVal lpApplicationName As String, _ ByVal lpKeyName As Any, ByVal lpString As Any, _ ByVal lpFileName As String) As LongDeclare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Public Function FileFolderExists(strFullPath As String) As Boolean'Author : Ken Puls (www.excelguru.ca)'Macro Purpose: Check if a folder exists On Error GoTo EarlyExit If Not Dir(strFullPath, vbDirectory) = vbNullString Then FileFolderExists = TrueEarlyExit: On Error GoTo 0End FunctionSub pdfwrite(reportname As String, destpath As String, Optional strcriteria As String)' Runs an Access report to PDF995 to create a pdf file from the report.' Input parameters are the name of the report within the current database,' the path for the output file, and an optional criteria for the report' Be sure to check that the "Generating PDF CS" setting in pdfsync.ini is set to 0' when pdf995 is idle. This codes uses that as a completion flag as it seems to be' the most reliable indication that PDF995 is done writing the pdf file.' Note: The application.printer object is not valid in Access 2000' and earlier. In that case, set the printer in the report to pdf995' and comment out the references herein to the application.printerDim syncfile As String, maxwaittime As LongDim iniFileName As String, tmpPrinter As PrinterDim outputfile As String, x As LongDim tmpoutputfile As String, tmpAutoLaunch As String' set the location of the PDF995.ini and the pdfsync filesiniFileName = "c:\program files (x86)\pdf995\res\pdf995.ini"syncfile = "c:\programdata\pdf995\pdfsync.ini"' TEST WHETHER DESTINATION PATH EXISTS - IF NOT ALERT USER AND ABORT PRINT If FileFolderExists(destpath) Then 'MsgBox "Folder exists!" Else MsgBox "Folder does not exist! Exiting...." GoTo Cleanup End If' build the output file name from the path parameter and the report nameIf Mid(destpath, Len(destpath), 1) <> "\" Then destpath = destpath & "\"outputfile = destpath & reportname & ".pdf"' PDF995 operates asynchronously. We need to determine when it is done so we can' continue. This is done by creating a file and having PDF995 delete it using the' ProcessPDF parameter in its ini file which runs a command when it is complete.' save current settings from the PDF995.ini filetmpoutputfile = ReadINIfile("PARAMETERS", "Output File", iniFileName)tmpAutoLaunch = ReadINIfile("PARAMETERS", "Autolaunch", iniFileName)' remove previous pdf if it existsOn Error Resume NextKill outputfileOn Error GoTo Cleanup' setup new values in PDF995.inix = WritePrivateProfileString("PARAMETERS", "Output File", outputfile, iniFileName)x = WritePrivateProfileString("PARAMETERS", "AutoLaunch", "0", iniFileName)' change the default printer to PDF995' if running on Access 2000 or earlier, comment out the next two linesSet tmpPrinter = Application.PrinterApplication.Printer = Application.Printers("PDF995")'print the reportDoCmd.OpenReport reportname, acViewNormal, , strcriteria' cleanup delay to allow PDF995 to finish up. When flagfile is nolonger present, PDF995 is done.Sleep (10000)maxwaittime = 300000 'If pdf995 isn't done in 5 min, quit anywayDo While ReadINIfile("PARAMETERS", "Generating PDF CS", syncfile) = "1" And maxwaittime > 0 Sleep (10000) maxwaittime = maxwaittime - 10000Loop' restore the original default printer and the PDF995.ini settingsCleanup:Sleep (10000)x = WritePrivateProfileString("PARAMETERS", "Output File", tmpoutputfile, iniFileName)x = WritePrivateProfileString("PARAMETERS", "AutoLaunch", tmpAutoLaunch, iniFileName)x = WritePrivateProfileString("PARAMETERS", "Launch", "", iniFileName)On Error Resume Next' if running on Access 2000 or earlier, comment out the next lineApplication.Printer = tmpPrinterEnd SubFunction ReadINIfile(sSection As String, sEntry As String, sFilename As String) As StringDim x As LongDim sDefault As StringDim sRetBuf As String, iLenBuf As IntegerDim sValue As String'Six arguments'Explanation of arguments:'sSection: ini file section (always between brackets)'sEntry : word on left side of "=" sign'sDefault$: value returned if function is unsuccessful'sRetBuf$ : the value you're looking for will be copied to this buffer string'iLenBuf% : Length in characters of the buffer string'sFileName: Path to the ini filesDefault$ = ""sRetBuf$ = String$(256, 0) '256 null charactersiLenBuf% = Len(sRetBuf$)x = GetPrivateProfileString(sSection, sEntry, _ sDefault$, sRetBuf$, iLenBuf%, sFilename)ReadINIfile = Left$(sRetBuf$, x)End Function