ENVIAR EMAIL OUTLOOK QUALQUER VERSÃO OFFICE

SAMESDAVIS 08/02/2017 13:19:48
#471482
Olá pessoal,

Tenho um sistema que roda em vários micros e cada um deles com versões diferentes do office.

O meu código não está dando certo, segue

referenciei o outlook e usei o imports



Imports Microsoft.Office.Interop

Private Sub btnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnviar.Click
Cursor.Current = Cursors.WaitCursor
Try
Dim tempApp As Microsoft.Office.Interop.Outlook.Application = New Microsoft.Office.Interop.Outlook.Application
[ô]Dim tempApp = GetObject(, [Ô]Outlook.Application[Ô])
Dim tempNS As Outlook.NameSpace
Dim MailFolder As Outlook.MAPIFolder
tempNS = tempApp.GetNamespace([Ô]MAPI[Ô])
tempNS.Logon(, , True, True)

Dim newMail As Outlook.MailItem = Nothing
MailFolder = tempNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderOutbox)
newMail = MailFolder.Items.Add(Outlook.OlItemType.olMailItem)
With newMail
.To = txtPara.Text
.Subject = txtAssunto.Text
.Body = txtMensagem.Text
.Send()
End With
newMail = Nothing
MailFolder = Nothing
tempNS = Nothing
tempApp = Nothing

DialogResult = DialogResult.Yes
Catch ex As Exception
MsgBox(ex.ToString())
DialogResult = DialogResult.No
Finally
Cursor.Current = Cursors.Default
End Try

End Sub



se eu usar essa linha

Dim tempApp As Microsoft.Office.Interop.Outlook.Application = New Microsoft.Office.Interop.Outlook.Application

ele só funciona no office2007

se eu usar essa linha, ele dá a mensagem de que não posso criar objeto activex

Dim tempApp = GetObject(, [Ô]Outlook.Application[Ô])

o que faço ?
MARCOSLING 08/02/2017 20:18:04
#471489
Porque vc precisa usar o Outlook?
Vc pode usar as classes do próprio .Net para enviar e-mails.
DS2T 10/02/2017 19:04:25
#471558
Caso realmente tenha que ser o Outlook, você pode baixar o pacote de redistribuição do Office, na versão que você usa... E mesmo se o cara não tiver o outlook instalado, vai funfar.

Abraços!
Faça seu login para responder