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 : 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
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 .

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