Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 ?
Porque usar o outlook para realizar o envio se a aplicação já pode chamar diretamente o servidor SMTP/Exchange para enviar o e-mail?
SMTP:
http://www.andrealveslima.com.br/blog/index.php/2015/05/13/enviando-e-mails-com-c/
https://msdn.microsoft.com/en-us/library/swas0fwc(v=vs.110).aspx.aspx)
Exchange:
https://msdn.microsoft.com/en-us/library/office/dn567668(v=exchg.150).aspx.aspx)
Olhá recomendo você usar as bibliotecas do .net (https://msdn.microsoft.com/pt-br/library/system.net.mail(v=vs.110).aspx.aspx)) para disparar ao invés de tentar usar as do office.
Assim não terá nenhum problema de versão do office!