message d'erreur avec outlook

message d'erreur avec outlook - VB/VBA/VBS - Programmation

Marsh Posté le 19-03-2007 à 11:49:24    

Kikou!
 
J 'ai un programe qui va reccupérer des données sur mes contacts dans outlook. Quand je rapatri les noms par exemple, aucun problème. Mais quand il s'agit des adresses, il me met un message d'erreur :  
"Un programme essaie d'accéder aux addresses de messagerie enregistrées dans outlook"
Puis il me propose de l'autoriser ou non.
Or mon appli doit fonctionner de manière automatique, donc sans personne pour valider chaque fois que ce message apparait...
 
Si vous aviez une petite idée, j ai fait pas mal de recherche avant de demander de l'aide, mais la je seche completement. Merci!!
 
voici mon code...
 

Code :
  1. Imports System.IO
  2. Imports System.Reflection
  3. Module Module1
  4.     Sub Main()
  5.         Dim oOL As Microsoft.Office.Interop.Outlook.Application
  6.         Dim oNS As Microsoft.Office.Interop.Outlook.NameSpace
  7.         Dim oFolder As Microsoft.Office.Interop.Outlook.MAPIFolder
  8.         Dim oItems As Microsoft.Office.Interop.Outlook.Items
  9.         Dim oContact As Object
  10.         oOL = New Microsoft.Office.Interop.Outlook.Application
  11.         oNS = oOL.GetNamespace("MAPI" )
  12.         oFolder = oNS.Folders("Dossiers publics" )
  13.         oFolder = oFolder.Folders("Tous les dossiers publics" )
  14.         oFolder = oFolder.Folders("CONTACTS" )
  15.         oItems = oFolder.Items
  16.         Dim SW As New StreamWriter("MonFichier.txt" )
  17.         For Each oContact In oItems
  18.             Dim suivant As Boolean
  19.             Dim contact As String
  20.             suivant = False
  21.             contact = ""
  22.             While suivant.Equals(False)
  23.                 Try
  24.                     Dim ad As String = oContact.Email1Address
  25.                     SW.Write(ad)
  26.                     suivant = True
  27.                 Catch
  28.                     contact = "!!!!!!!!!!!!!!!"
  29.                 End Try
  30.             End While
  31.         Next
  32.         SW.Close()
  33.         oOL = Nothing
  34.         oNS = Nothing
  35.         oFolder = Nothing
  36.         oItems = Nothing
  37.         oContact = Nothing
  38.     End Sub
  39. End Module

Reply

Marsh Posté le 19-03-2007 à 11:49:24   

Reply

Marsh Posté le 19-03-2007 à 12:00:36    

voir si application.displayalerts = false peut t'aider

Reply

Marsh Posté le 19-03-2007 à 12:06:22    

merci mais je n'ai pas de displayalerts dispo dans les librairies...

Reply

Marsh Posté le 19-03-2007 à 12:08:48    

et bien setwarnings peut être ?

Reply

Marsh Posté le 19-03-2007 à 12:16:24    

ya bien un Application.DisplayAlerts utilisé par exemple sur le site http://www.developpez.net/forums/a [...] 54609.html mais quand je met la meme ligne de code : Application.DisplayAlerts = False, il me dit que Application n'est pas déclaré... y a t il une librairie spéciale a téléchager?

Reply

Marsh Posté le 19-03-2007 à 12:17:59    

dans ton code je crois qu'il faut utiliser oOL.dispayalerts

Reply

Marsh Posté le 19-03-2007 à 12:19:34    

il ne le reconnait pas, y a t il une librairie spéciale a téléchager ou une reference a ajouter?

Reply

Marsh Posté le 19-03-2007 à 12:28:49    

qu'est-ce qu'il ne reconnait pas ? quel est le mesasge d'erreur, à quel endroit te pond-il une erreur ?

Reply

Marsh Posté le 19-03-2007 à 12:31:36    

quand je met "oOL." il ne propose rien du type display ou setwarning en completion et quand je le force, il le considere comme une fonction et donc dit qu il ne trouve pas la fonction a l'execution

Reply

Marsh Posté le 19-03-2007 à 13:10:12    

Reply

Marsh Posté le 19-03-2007 à 13:10:12   

Reply

Marsh Posté le 19-03-2007 à 14:34:27    

merci pr l adresse, j ai telecharger redemption et ajouter en reference a mon projet, mais ya pas beaucoup d exemples et je vois pas trop quoi inserer dans mon code...

Reply

Marsh Posté le 19-03-2007 à 14:54:23    

Je pense que cet article (en anglais) peut t'intéresser.
http://msdn2.microsoft.com/en-us/l [...] S.80).aspx
 
Le paragraphe « Code Is Blocked by the Outlook Object Model Guard » donne des explications
Celui intitulé « Minimizing Object Model Guard Warnings » propose des alternatives.
 
Sans garantie.

Reply

Marsh Posté le 12-04-2007 à 11:21:58    

Bonjour,
 
Si cela peut aider, voici un code avec et sans utlisation de redemption pour envoyer un email via ACCESS
Bien entendu le premier code génére le message d'alerte Outlook et pas le second

Code :
  1. Sub Envoi(strTo As String, strBody As String, strAttachments As String)
  2. On Error GoTo Err_Envoi
  3.    
  4.     Dim olApp As Outlook.Application
  5.     Dim olMail As Outlook.MailItem
  6.     Set olApp = CreateObject("Outlook.Application" )
  7.     Set olMail = olApp.CreateItem(olMailItem)
  8.     With olMail
  9.         .To = strTo
  10.         .Subject = strSubject
  11.         .Body = strBody
  12.         .Attachments.Add strAttachments
  13.         .Send
  14.     End With
  15.    
  16.     Set olMail = Nothing
  17.     Set olApp = Nothing
  18.     Exit Sub
  19. Err_Envoi:
  20.     MsgBox Err.Description & "(" & Err & " )"
  21.     Err.Clear: Resume
  22. End Sub


Code :
  1. Sub Envoi(strTo As String, strBody As String, strAttachments As String)
  2. On Error GoTo Err_Envoi
  3.    
  4.     Dim olApp As Outlook.Application
  5.     Dim olMail As Outlook.MailItem
  6.     Dim SafeMail As Redemption.SafeMailItem
  7.     Set olApp = CreateObject("Outlook.Application" )
  8.     Set olMail = olApp.CreateItem(olMailItem)
  9.     Set SafeMail = CreateObject("Redemption.SafeMailItem" )
  10.     SafeMail.Item = olMail
  11.     With SafeMail
  12.         .Recipients.Add strTo
  13.         .Recipients.ResolveAll
  14.         .Subject = strSubject
  15.         .Body = strBody
  16.         .Attachments.Add strAttachments
  17.         .Send
  18.     End With
  19.     Set SafeMail = Nothing
  20.     Set olMail = Nothing
  21.     Set olApp = Nothing
  22.     Exit Sub
  23. Err_Envoi:
  24.     MsgBox Err.Description & "(" & Err & " )"
  25.     Err.Clear: Resume
  26. End Sub


Bon code @ tous  ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed