IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Resultat de lecture dans le corps d'un mail


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 102
    Par défaut Resultat de lecture dans le corps d'un mail
    Bonjour,

    je souhaiterais réaliser un script qui sera déclenché vers 22H00 heures

    Il:

    - Va scruter le contenu d'un dossier1
    - Va créer un fichier "Resultat.txt" avec la liste des fichiers contenu dans le dossier1
    - Va envoyer un mail avec en attach le .txt

    Lorsque je lance le script il m'envoie bien le mail avec en attach le .txt dans lequel il y a la liste des fichiers lus dans le dossiers1

    Par contre, je souhaiterais avoir la liste avec l'heure la date et le path directement dans le mail est-ce possible ?

    par exemple :

    -----------------------------------------------------

    Bonjour,

    à HH:mn le date l'appli a reçu XX fichiers dans :

    D:\Appli\Import\Centre\Importes\fic1.xml_date_heure

    D:\Appli\Import\Centre\Importes\fic2.xml_date_heure

    D:\Appli\Import\Centre\Importes\fic3.xml_date_heure

    ...

    Attention, ne pas répondre à ce mail qui est généré automatiquement.

    Cordialement

    L'équipe Informatique
    ---------------------------------------------------------

    Merci à tous pour votre aide

    Mon script:

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    Const ctePourLecture = 1
    Const ctePourEcrire = 2
    Const ctePourAjouter = 8
     
     
    Dim objFSO, objDossier, objFichier, objResultat
    Dim Repertoire, NomFichierTxt, Rep
     
    On Error Resume Next
     
    Rep = "D:\Appli\Import\Centre\Importes"
    NomFichierTxt = "Resultat_Fichiers_reçus.txt"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objDossier = objFSO.GetFolder(Rep)
    Set objResultat = objFSO.CreateTextFile("D:\Appli\Import\Centre\Importes\Resultat_Fichiers_reçus.txt",ctePourEcrire)
     
     
    If (objDossier.Files.Count > 0) Then
       For Each objFichier In objDossier.Files
          If (InStr(1, objFichier.Name, ".xml", 1) > 0) Then
              objResultat.WriteLine objFichier.Name
          End If
       Next
     End If
     
    objResultat.Close
    Set objResultat = Nothing
    Set objDossier = Nothing
    Set objFSO = Nothing
     
     
    Const DESTINATAIRES="adress destinataire"
    Const DESTINATAIRES_CC=""
    Const FICHIER_1="D:\Appli\Import\Centre\Importes\Resultat_Fichiers_reçus.txt"
    Dim WshNet,objMail,computername
     
     
    On Error Resume Next
     
    Set WshNet = CreateObject("Wscript.Network" )
    Set objMail = CreateObject("CDO.Message") 
    computername = WshNet.ComputerName		'--- Nom du serveur ou est exécuté le script
     
    '-------------------------------------------------------------------------
    '---- Envoi du log d'install par mail
    '-----------------------------------------------------------------------------
     
    With objMail
    	.Subject  = "[APPLI] : Nombre de fichiers « tests » reçus " & date
    	.to       = DESTINATAIRES
    	.cc		  = DESTINATAIRES_CC
    	.From     = "Appli_" & computername & "@.fr"
     
    	.TextBody = "Bonjour," & VbNewLine & VbNewLine & _
    		"A heure et le date_jour, Appli a reçu XX fichiers." & VbNewLine & VbNewLine & _
    		"Attention, ne pas répondre à ce mail qui est généré automatiquement." & VbNewLine & VbNewLine &_
    		"Cordialement." & VbNewLine & VbNewLine
    	.AddAttachment(FICHIER_1)
    	End With
     
    With objMail.Configuration.Fields
    	.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")       = "mailhost.dus.atlas.fr"
    	.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")   = 25
    	.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")        = 2 'CDO.cdoSendUsingPort
    	.Update
    End With
    ObjMail.send
    wscript.quit 0

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Par défaut
    Bonsoir,


    Pour commencer, tu souhaites obtenir la date et l'heure de déclenchement du script.
    Essaye
    Pour le nombre de fichier, tu peux faire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim NbFiles=0
    If (objDossier.Files.Count > 0) Then
       For Each objFichier In objDossier.Files
          If (InStr(1, objFichier.Name, ".xml", 1) > 0) Then
              objResultat.WriteLine objFichier.Name
              NbFiles=NbFiles+1
          End If
       Next
     End If
    Ainsi, tu réutilises cette variable NbFiles dans ton message final à la place de XX ici (et aussi remplacer heure et date_jour par now)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .TextBody = "Bonjour," & VbNewLine & VbNewLine & _
    		"A heure et le date_jour, Appli a reçu XX fichiers." & VbNewLine & VbNewLine & _
    		"Attention, ne pas répondre à ce mail qui est généré automatiquement." & VbNewLine & VbNewLine &_
    		"Cordialement." & VbNewLine & VbNewLine
    Concernant le path, j'ai pas bien compris la question :
    Par contre, je souhaiterais avoir la liste avec l'heure la date et le path directement dans le mail est-ce possible ?

  3. #3
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 102
    Par défaut Merci pour ta réponse Miistik
    Merci pour ta réponse Miistik,

    j'ai utilisé tes informations, maintenant je reçois bien un mail avec l'heure et la date et la liste de fichiers dans le corps du mail, du type:

    Bonjour,

    A 10:13:20 le 09/12/2014, Appli a reçu 11 fichiers de la part de Paris.

    Attention, ne pas répondre à ce mail qui est généré automatiquement.

    file1 - Copy (2).xml
    file1 - Copy - Copy.xml
    file1 - Copy.xml
    file1.xml
    File2 - Copy (2).xml
    File2 - Copy - Copy.xml
    File2 - Copy.xml
    File2.xml
    File3 - Copy (2).xml
    File3 - Copy - Copy.xml

    Par contre je ne comprends pas pourquoi il m'indique qu'il trouve 11 fichiers alors qu'il y en a que 10 dans le dossiers ?

    Pour le path je souhaiterais l'ajouter devant le fichier, par exemple:

    D:\Appli\Import\Centre\Importes\file1 - Copy (2).xml
    D:\Appli\Import\Centre\Importes\file1 - Copy - Copy.xml
    D:\Appli\Import\Centre\Importes\file1 - Copy.xml
    ...

    Merci

    Mon script



    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    Const ctePourLecture = 1
    Const ctePourEcrire = 2
    Const ctePourAjouter = 8
     
     
    Dim objFSO, objDossier, objFichier, objResultat
    Dim Repertoire, NomFichierTxt, Rep, liste_fichier
     
    On Error Resume Next
     
    Rep = "D:\Appli\Import\Centre\Importes"
    NomFichierTxt = "Resultat_Fichiers_reçus.txt"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objDossier = objFSO.GetFolder(Rep)
    Set objResultat = objFSO.CreateTextFile("D:\Appli\Import\Centre\Importes\Resultat_Fichiers_reçus.txt",ctePourEcrire)
     
     
    If (objDossier.Files.Count > 0) Then
       For Each objFichier In objDossier.Files
          If (InStr(1, objFichier.Name, ".xml", 1) > 0) Then
              objResultat.WriteLine objFichier.Name
    	  liste_fichier=liste_fichier + objFichier.Name & VbNewLine
          End If
       Next
     End If
     
    objResultat.Close
    Set objResultat = Nothing
    Set objDossier = Nothing
    Set objFSO = Nothing
     
     
     
    Const ForReading = 1, ForWriting = 2  
    Dim oFso, f 
    Dim ts, nl 
      Set oFso = CreateObject("Scripting.FileSystemObject") 
      Set f = oFso.OpenTextFile("D:\Appli\Import\Corse\Resultat_Fichiers_reçus.txt", ForReading) 
      ts = f.ReadAll '-- Lit la totalité du fichier 
     
     
     
     
    Const DESTINATAIRES="adress destinataire"
    Const DESTINATAIRES_CC=""
    Const FICHIER_1="D:\Appli\Import\Centre\Importes\Resultat_Fichiers_reçus.txt"
    Dim WshNet,objMail,computername
     
     
     
    On Error Resume Next
     
    Set WshNet = CreateObject("Wscript.Network" )
    Set objMail = CreateObject("CDO.Message") 
    computername = WshNet.ComputerName		'--- Nom du serveur ou est exécuté le script
     
    '-------------------------------------------------------------------------
    '---- Envoi du log d'install par mail
    '-----------------------------------------------------------------------------
     
    With objMail
    	.Subject  = "[APPLI] : Nombre de fichiers « tests » reçus " & date
    	.to       = DESTINATAIRES
    	.cc		  = DESTINATAIRES_CC
    	.From     = "Appli_" & computername & "@.fr"
     
    	.TextBody = "Bonjour," & VbNewLine & VbNewLine & _
    		"A " & Time & " le " & date & ", Appli a reçu " & f.Line & " fichiers. de la part de Paris" & VbNewLine & VbNewLine & _
    		"Attention, ne pas répondre à ce mail qui est généré automatiquement." & VbNewLine & VbNewLine &_
    		"" & Liste_Fichier & VbNewLine & VbNewLine &_
    		"Cordialement." & VbNewLine & VbNewLine
    	.AddAttachment(FICHIER_1)
    	End With
     
    With objMail.Configuration.Fields
    	.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")       = "mailhost.dus.atlas.fr"
    	.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")   = 25
    	.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")        = 2 'CDO.cdoSendUsingPort
    	.Update
    End With
    ObjMail.send
    wscript.quit 0

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Par défaut
    Bonjour,

    Pour avoir le path des fichiers , essayes Pour le nombre de fichier, essayes la modification que je t'ai proposée avant (lignes 1 et 6).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim NbFiles=0
    If (objDossier.Files.Count > 0) Then
       For Each objFichier In objDossier.Files
          If (InStr(1, objFichier.Name, ".xml", 1) > 0) Then
              objResultat.WriteLine objFichier.Name
              NbFiles=NbFiles+1 ' <------------------ ICI ------------      
          End If
       Next
     End If
    Et tu utilises NbFiles dans ton mail

  5. #5
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 102
    Par défaut Merci Miistik
    Merci pour tes informations

    J'obtiens les informations souhaitées

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/01/2007, 11h23
  2. [Mail] Inclure un fichier dans le corps d'un mail
    Par guigo dans le forum Langage
    Réponses: 4
    Dernier message: 12/11/2006, 18h05
  3. [HTML] insérer un \n dans le corps d'un mail
    Par lilou77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 20/10/2006, 13h59
  4. Redirection dans le corps d'un mail
    Par Flushovsky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/10/2006, 08h54
  5. [VB6]Chaines en gras dans le corps d'un mail
    Par Safaritn dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 02/02/2006, 13h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo