ENVIAR EMAIL OUTLOOK QUALQUER VERSÃO OFFICE
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 ?
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 ?
Porque vc precisa usar o Outlook?
Vc pode usar as classes do próprio .Net para enviar e-mails.
Vc pode usar as classes do próprio .Net para enviar e-mails.
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!
Abraços!
Faça seu login para responder