Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1761 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  erreur Move/Delete sur element ouvert

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

erreur Move/Delete sur element ouvert

n°1596602
hypro_jero​me
Posté le 07-08-2007 à 11:47:05  profilanswer
 

Bonjour,
 
J'ai un soucis avec une macro qui doit faire cela : Lors de la fermeture d'un nouveau mail, je propose à l'utilisateur d'archiver le mail vers un dossier. Le truc c'est que le mail doit être déplacé mais il ne peut pas parcequ'il est ouvert.
 
J'ai pensé à créér une copie de ce mail, et de déplacer la copie, mais je veux supprimer le mail recu, pour qu'il n'y ai pas de doublon. Encore une fois, impossible de supprimer le mail ouvert. Tout ca se passe dans le objet_BeforeClose, il me faudrait un équivalent de AfterClose pour régler mon prôblème, mais qui n'existe malheuresement pas...
 
Si vous avez des idées ca m'aiderait pas mal, je vous c/c le code :
 
Dim WithEvents myInspectors As Outlook.Inspectors
Dim WithEvents myMail As Outlook.MailItem
 
Private Sub Application_Startup()
On Error Resume Next
Set myInspectors = ThisOutlookSession.Inspectors
On Error GoTo 0
End Sub
 
Private Sub myInspectors_NewInspector(ByVal Insp As Inspector)
If Insp.CurrentItem.Class = olMail Then
    If Insp.CurrentItem.UnRead = True Then
        Set myMail = Insp.CurrentItem
        'MsgBox "Nouveau Mail"
    'Else
        'MsgBox "Vieux Mail"
    End If
End If
End Sub
 
Private Sub myMail_Close(Cancel As Boolean)
        Dim myCopiedItem As Outlook.MailItem
 
        If MsgBox("Voulez-vous archiver ce message ?", vbYesNo + vbQuestion, "Voulez-vous Archiver ?" ) = vbYes Then
        Dim oDossier As MAPIFolder
        'Set oNS = Application.GetNamespace("MAPI" )
        Set oDossier = Application.GetNamespace("MAPI" ).PickFolder
 
        If Not oDossier Is Nothing Then
          Set myCopiedItem = myMail.Copy
          myCopiedItem.Move oDossier
          myMail.Delete
        End If
        Set oDossier = Nothing
    End If
End Sub
 
Cette version créé une copie du mail et le déplace, jusque la OK, mais le myMail.Delete pose probleme.
Pour tester l'idée premiere, il faut remplacer  
          Set myCopiedItem = myMail.Copy
          myCopiedItem.Move oDossier
          myMail.Delete
par
          myMail.Move oDossier
 
Voila l'erreur qu'il me donne :
http://eslftp.free.fr/erreur.jpg
 
Donc le move et delete ne sont pas accéssible sur l'événement close, si vous avez une idée alternative... je suis preneur !
 

mood
Publicité
Posté le 07-08-2007 à 11:47:05  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  erreur Move/Delete sur element ouvert

 

Sujets relatifs
Erreur parse errorComment gerer une fenêtre de mise à jours fichiers due à une erreur?
[Résolu] Erreur AJAX[PHP] Erreur "unexpected $end"
asp , erreur insertion dans bd accessSurcharge de l'opérateur = + Appel non souhaité à delete
Erreur AJAX -> Pas d'erreur...Erreur php avec header
Erreur suite à un accès à 3e tableErreur de compatibilté merci de votre aide
Plus de sujets relatifs à : erreur Move/Delete sur element ouvert


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR