No encuentra evento Newmail de

Tengo un problema desde hace días... No consigo que me funcione. Estoy intentando hacer una aplicación que me capture los datos adjuntos del outlook de los mensajes recibidos para ponerlos automáticamente en carpetas según el nombre del asunto.

Me sale siempre dos errores:

1 No se puede encontrar el evento Newmail

2 ActiveExplorer no es un miembro de WindowsApplication1Form1

Este es mi código, pongo en negrita lo que me da error:

Imports System

Imports System. Windows. Forms

Imports Outlook = Microsoft.Office.Interop.Outlook

Imports Office = Microsoft.Office.Core

Public Class Form1
Dim m_OutLook As Outlook.Application

Dim NewMail As Outlook.MailItem

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Application_NewMail()

End Sub

Private Sub Application_NewMail() Handles Me.NewMail

Dim inBox As Outlook.MAPIFolder = Me.ActiveExplorer() _ .Session.GetDefaultFolder(Outlook. _ OlDefaultFolders.olFolderInbox)

Dim inBoxItems As Outlook.Items = inBox.Items

Dim newEmail As Outlook.MailItem

inBoxItems = inBoxItems.Restrict("[Unread] = true")

Try

For Each collectionItem As Object In inBoxItems

newEmail = TryCast(collectionItem, Outlook.MailItem)

If newEmail IsNot Nothing Then

If newEmail.Attachments.Count > 0 Then

For i As Integer = 1 To newEmail.Attachments.Count

Dim saveAttachment As Outlook.Attachment = _ newEmail.Attachments(i) newEmail.Attachments(i).SaveAsFile _ ("C:\TestFileSave\" & (newEmail _ .Attachments(i).FileName))

Next i

End If

End If

Next collectionItem

Catch ex As Exception

If Left(ex.Message, 11) = "Cannot save" Then

MessageBox.Show("Create Folder C:\TestFileSave")

End If

End Try

End Sub

End Class

1 Respuesta

Respuesta
1

Lo único que veo raro, es el ME delante de las funciones, sacale el ME.

Al poner ME delante estás instanciando el Formulario que contiene la subrutina.

Gracias Eduardo, ahora me desapareció el error en la linea New mail, pero me sigue en ActiveExplorer , el cual me dice que no se ha declarado el nombre.

Me podrías decir donde y como se declara esto? Voy un poco perdido. Mil gracias!!!!!!!

Cambia ME por OUTLOOK

Que quede así:

Outlook. ActiveExplorer()

Hola amigo, lo hice pero me sigue apareciendo : 'ActiveExplorer' no es un miembro de Outlook

y respeto al NewMail... me dice que se esperaba '.'  como si le faltara algo. 

Creo que hay algo, pero no encuentro la solución.

Private Sub Application_NewMail() Handles NewMail

Dim inBox As Outlook.MAPIFolder = Outlook.ActiveExplorer() _ .Session.GetDefaultFolder(Outlook. _ OlDefaultFolders.olFolderInbox)

Estuve nadando un poco por Google por que la verdad nunca he utilizado esto, si no de otra manera, así que investigué un poco para desasnarme.

ActiveExplorer() es miembro de Microsoft. Office. Interop. Outlook. Application por ende no lo encontrará si no le instancias.

Debes hacer algo así:

Dim oApp As Microsoft.Office.Interop.Outlook._Application = New Microsoft.Office.Interop.Outlook.Application()

Luego deberías hacer algo así:

Dim inBox As Outlook.MAPIFolder = oApp.ActiveExplorer() 

Obviamente tu completas lo que falte.

NewMail no se bien que es por que haces un Handles con el, lo que supongo que es un objeto o algo así. Si lo haz copiado de algún lado, sácalo con todo y el Handles.

Me comentas.

Muchas gracias por tu rápida respuesta!

El Newmail  lo he copiado de aquí:

http://msdn.microsoft.com/es-es/library/ms268754(v=vs.80).aspx

Es la función que me da microsoft. Pero me da el error en el New mail.

gracias Mil !!! 

El tema que ese código no es para aplicar en una aplicación Windows. Si te fijas el artículo da referencia a otras plataformas.

Te dejo un link que te puede ayudar a implementar

http://social.msdn.microsoft.com/Forums/es/vbes/thread/4e5aa010-9578-4173-b049-40d789e7575f

Dice que es para Outlook 2003. Cierto?

En principio es solo un botón lo que quiero que me guarde todos los adjuntos a una carpeta. 

Con este código no podré???

saludos.

No es que no podrás, es que ese código es para otras plataformas, donde se supone tienes otras librerías, accesos y demás.

Es por eso que te di el enlace para que busques como hacerlo en tu plataforma.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas