oceanex
XLDnaute Nouveau
Bonjour a tous.
Merci d'avance pour votre aide.
Depuis environ 1 semaine je "galère" et je ne comprend pas pourquoi. un deuxième regard va être vraiment apprécié.
mon problème est sur Outlook 2013.
j'utilise une regle qui ensuite déclanche un script
la règle :
Appliquer cette règle après l'arrivée du message
qui contient une pièce jointe
et expediteur est dans le carnet d'adresse "pc"
et sur cet ordinateur uniquement
executer "projet1.script"
voici projet1.script
si un fichier excel (xls, xlsx ou csv) est présent il ne doit pas toucher au courriel et le laisser la, mais s'il ne contient que des PDF il doit l'imrpimer et ensuite envoyer dans un dossier "fait".
sa marche a 80% du temps. mais j'ai 20% du temps ou soit il imprime la pièce jointe mais ne la déplace pas, ou bien il traite le courriel meme s'il ne contient pas de pdf (meme aucune piece jointe), il n'imprime rien mais le deplace dans "fait".
j'essaie de comprendre pourquoi et je ne comprends pas.
merci beaucoup pour votre aide,
Oceanex
Merci d'avance pour votre aide.
Depuis environ 1 semaine je "galère" et je ne comprend pas pourquoi. un deuxième regard va être vraiment apprécié.
mon problème est sur Outlook 2013.
j'utilise une regle qui ensuite déclanche un script
la règle :
Appliquer cette règle après l'arrivée du message
qui contient une pièce jointe
et expediteur est dans le carnet d'adresse "pc"
et sur cet ordinateur uniquement
executer "projet1.script"
voici projet1.script
VB:
Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Sub ShellImprime(fichier As String)
ShellExecute 0, "print", fichier, "", "C:\facture\", 0
End Sub
Sub script(MyMail As MailItem)
Dim deplacer As String
deplacer = 0
For i = 1 To MyMail.Attachments.Count
Set fichier = MyMail.Attachments(i)
Repertoire = "C:\facture\"
If Right(UCase(fichier.FileName), 4) = ".PDF" Then
fichier.SaveAsFile Repertoire & fichier
ShellImprime (fichier.FileName)
deplacer = deplacer + 1
End If
If Right(UCase(fichier.FileName), 4) = ".XLS" Then
deplacer = -1000
End If
If Right(UCase(fichier.FileName), 5) = ".XLSX" Then
deplacer = -1000
End If
If Right(UCase(fichier.FileName), 4) = ".CSV" Then
deplacer = -1000
End If
If i = MyMail.Attachments.Count Then
If deplacer > 0 Then
Dim myOlApp As Outlook.Application
Dim myNameSpace As Outlook.NameSpace
Dim myFolder As Outlook.MAPIFolder
Dim myFolderArchive As Outlook.MAPIFolder
Dim myItem As Outlook.MailItem
Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myFolderArchive = myFolder.Folders("fait")
myFolder.Items(1).Move myFolderArchive
End If
End If
Next i
End Sub
si un fichier excel (xls, xlsx ou csv) est présent il ne doit pas toucher au courriel et le laisser la, mais s'il ne contient que des PDF il doit l'imrpimer et ensuite envoyer dans un dossier "fait".
sa marche a 80% du temps. mais j'ai 20% du temps ou soit il imprime la pièce jointe mais ne la déplace pas, ou bien il traite le courriel meme s'il ne contient pas de pdf (meme aucune piece jointe), il n'imprime rien mais le deplace dans "fait".
j'essaie de comprendre pourquoi et je ne comprends pas.
merci beaucoup pour votre aide,
Oceanex