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
Pergunta
Sames Davis
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 ?
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.