Problema con Outlook

di il
8 risposte

Problema con Outlook

Ciao ragazzi, sto scrivendo una procedura da utilizzare in Autocad per mandare una mail.
Ho un problema quando devo aprire Outlook, se non è già aperto funziona bene, se invece è aperto ricevo una eccezione sulla riga
olApp = CreateObject("Outlook.Application")

"System.Exception: 'Impossibile creare il componente ActiveX."

Imports Microsoft.Office.Interop

 Dim olApp As Outlook.Application
        olApp = CreateObject("Outlook.Application")
        Dim objOutlk
        Dim objMail
        Dim cont_mail As Integer = 1
        objOutlk = CreateObject("Outlook.Application")
        objMail = objOutlk.createitem(0)
        objMail.attachments.add(save_temp)
        If int_saved = 1 Then myDwg.Database.SaveAs(save_temp, True, AutoCADver, myDwg.Database.SecurityParameters)
        objMail.display()
Grazie
Stefano

8 Risposte

  • Re: Problema con Outlook

    Hai aggiunto ai riferimenti del progetto, la libreria Outlook?
  • Re: Problema con Outlook

    Si..la cosa che non mi torna è che se Outlook non è già aperto funziona bene....
    mi ha sempre funzionato con i vecchi office, ora ho Office 365...comunque ho aggiunto i riferimenti alla libreria
  • Re: Problema con Outlook

    hantrax ha scritto:


    Si..la cosa che non mi torna è che se Outlook non è già aperto funziona bene....
    Quando hai finito di usare l'applicazione Outlook tramite l'interfaccia COM, provvedi a fare il Quit e a rilasciare l'oggetto?

    Ciao!
  • Re: Problema con Outlook

    Non arrivo alla fase di chiusura, l'errore me lo da alla riga olApp = CreateObject("Outlook.Application") subito dopo Dim olApp As Outlook.Application
  • Re: Problema con Outlook

    Con .Net io se mi ricordo bene, non usavo createobject ma direttamente il codice messo tra virgolette, hai provato?
  • Re: Problema con Outlook

    hantrax ha scritto:


    Non arrivo alla fase di chiusura, l'errore me lo da alla riga olApp = CreateObject("Outlook.Application") subito dopo Dim olApp As Outlook.Application
    Quando dici che "Outlook è già in esecuzione", lo è perché provvedi tu a lanciarlo a mano, oppure perché rimane attivo da una precedente esecuzione del tuo programma.

    Nel caso sia tu a lanciare Outlook esternamente, verificherei che il tuo programma esegua con gli stessi diritti: se usi Visual Studio come Administrator e quindi lanci il tuo programma con privilegi elevati, magari tenta di riusare l'istanza esistente di Outlook che però è lanciata con privilegi più bassi.

    Ovviamente sono tutte ipotesi: fai qualche prova di lancio interno/esterno provando diverse combinazioni e magari riporta i risultati ottenuti.

    Ciao!
  • Re: Problema con Outlook

    lele2006 ha scritto:


    Con .Net io se mi ricordo bene, non usavo createobject ma direttamente il codice messo tra virgolette, hai provato?
    Quello dovrebbe modificare l'accesso in modalità late binding con quella early binding (che indirizza una versione specifica di Outlook), ma effettivamente è una prova aggiuntiva che varrebbe la pena fare.
  • Re: Problema con Outlook

    Grazie..
    Ho risolto con i vostri consigli...il problema è che Visual basic viene lanciato come amministratore.....se Outlook è già aperto senza diritti di amministratore va in errore, se invece lo apro come amministratore funziona correttamente.

    Grazie!!!
Devi accedere o registrarti per scrivere nel forum
8 risposte