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 :
Sur mon pc, la macro s'éxecute parfaitement, je reçois bien le mail avec la pièce jointe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Par contre, j'ai mis cette application sur mon serveur et là, ca marche pas.
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
Partager