Problème macro envoie mail
Bonjour à tous,
je suis confrontais à un petit problème et je suis dans l'incapacité de le résoudre.
Alors voilà, je crée des rapports sur un logiciel, QlikView et à l'aide d'une macro en VBscript, je souhaite automatiser l'envoie de ces rapports.
Voici ma macro :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
Sub Dagrapport
Set WSHNetwork = CreateObject("WScript.Network")
WSHNetwork.SetDefaultPrinter "QlikViewPDF"
vReport = "RP01"
vName = "Rapport"
ActiveDocument.PrintReport(vReport), "QlikViewPDF", false
reportFile = "C:\Program Files\QlikView\PDF\" & vName &".pdf"
printReportPDF vReport,reportFile
ActiveDocument.GetApplication.Sleep 5000
zendDagrapport reportFile
End sub
'===========================================================================
FUNCTION printReportPDF(reportID, pdfOutputFile)
Set WSHShell = CreateObject("WScript.Shell")
WSHShell.RegWrite "HKCU\Software\QlikViewPDF\OutputFile", pdfOutputFile, "REG_SZ"
WSHShell.RegWrite "HKCU\Software\QlikViewPDF\BypassSaveAs", "1", "REG_SZ"
ActiveDocument.PrintDocReport reportID
set WSHShell = nothing
END FUNCTION
'===========================================================================
function zendDagrapport(PDFOutputFile)
Dim objEmail
Const cdoSendUsingPort = 2
Const cdoAnonymous = 0
Const cdoBasic = 1
Const cdoNTLM = 2
SMTPServer = "****.loc"
Const SMTPPort = 25
Const SMTPTimeout = 60
Set objEmail = CreateObject("CDO.Message")
Set objConf = objEmail.Configuration
Set objFlds = objConf.Fields
With objFlds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTPServer
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoAnonymous
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = SMTPPort
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = SMTPTimeout
.Update
'---------------------------------------------------------------------
End With
objEmail.To = "receveur@entreprise.com"
objEmail.From = "createur@entreprise.com"
objEmail.Subject = "TEST"
objEmail.TextBody = " test "
objEmail.AddAttachment PDFOutputFile
objEmail.Send
Set objFlds = Nothing
Set objConf = Nothing
Set objEmail = Nothing
end function |
Sur mon pc, la macro s'éxecute parfaitement, je reçois bien le mail avec la pièce jointe.
Par contre, j'ai mis cette application sur mon serveur et là, ca marche pas :cry::cry::cry: .
J'ai une erreur ici ==> Le chemin d’accès spécifié est introuvable (ligne52 du code)
Il m'affiche ceci ==> objEmail.AddAttachment PDFOutputFile
Si un Génie du VBScript pouvait me venir en aide, je lui serai extrêmement reconnaissant ^^
Merci d'avance
Bye