Foros del Web » Programación para mayores de 30 ;) » Programación General »

CreateObject("MAPI.Session")

Estas en el tema de CreateObject("MAPI.Session") en el foro de Programación General en Foros del Web. TENGO UN PROBLEMA EN VB YA QUE ME MARCA UN ERROR "runtime error '429' activex component can't create object " A LA HORA DE ENVIAR ...
  #1 (permalink)  
Antiguo 18/03/2004, 12:06
 
Fecha de Ingreso: enero-2004
Ubicación: México D,F
Mensajes: 44
Antigüedad: 20 años, 3 meses
Puntos: 0
CreateObject("MAPI.Session")

TENGO UN PROBLEMA EN VB
YA QUE ME MARCA UN ERROR
"runtime error '429' activex component can't create object "
A LA HORA DE ENVIAR UN MAIL POR MAPI CON:

Set objSession = CreateObject("MAPI.Session")

TENGO LA VERSION 6

Y NO QUIERO CAMBIAR EL PROGRAMA POR LOS CONTROLES.
MAPISession
MAPIMessages

Alguien sabe el control que hay que registrar si estoy en lo correcto..

Y SI ALGO TIENE QUE VER CON LA VERSION DE VB 6

ESPERO SU RESPUESTA..


GRACIAS..
  #2 (permalink)  
Antiguo 18/03/2004, 12:56
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 20 años, 5 meses
Puntos: 0
En principio yo no he creado el objeto como tú lo has hecho. Quizá ese sea el error.
Te paso dos funciones que están muy bien. No las utilizo desde hace años.
Para seguir mi ejemplo tienes que añadir el componente "MAPI Controls".
Agregas los dos controles al formulario y ya está. Esos controles se los pasas a las llamadas de la funciones.

Código:
Inicio_Mail(.......)
Send_Mail(.......)
'*********************************************************************************************************************************************************************
'** FUNCION Inicio_Mail
'** Descripcion: Esta funcion se encarga de iniciar la sesion del mail
'** Parametros:
'**     Login: - Tipo String por valor
'**            - Con esta variable contiene el valor del usuario de mail
'**
'**     Password: - Tipo String por valor
'**               - Esta variable contiene el password del usuario de mail
'**
'**     Opcion: - Tipo boolean por valor
'**             - Esta variable contiene la informacion necesaria para abrir varias sesiones distintas
'**
'**     MSesion: - Tipo MAPISession por referencia
'**              - Esta variable contiene la informacion para abrir sesiones
'**
'**     MMensaje: - Tipo MAPIMessages por referencia
'**               - Esta variable contiene la informacion para poder enviar mensajes
'**
'** Variables globales que modifica: N/A
'** Referencia a Funciones: N/A
'** Valores devueltos:
'**     - 0 --> La funcion se ha realizado correctamente.
'**     - 1 --> La funcion no se ha completado correctamente.
'**********************************************************************************************************************************************************************
Function Inicio_Mail(ByVal Login As String, ByVal Password As String, ByVal Opcion As Boolean, ByRef MSesion As MAPISession, ByRef MMensaje As MAPIMessages) As Integer
'Control de Errores
On Error GoTo CONTROL_ERRORES:

'Abrir sesion MAPI
MSesion.UserName = Login

'***** OJO  TOCADO POR NOSOTROS  ******
'MSesion.NewSession = Opcion
'MSesion.SignOn
'Sincronizar la Sesion con los Mensajes
MSesion.Action = 1
'**************************************

MMensaje.SessionID = MSesion.SessionID

Inicio_Mail = 0
Exit Function
'Control de Errores
CONTROL_ERRORES:
If Err.Number <> 0 Then
    Inicio_Mail = 1
    Exit Function
End If
End Function

'***********************************************************************************************************
'** FUNCION Send_Mail
'** Descripcion: Esta funcion se encarga de enviar un mail dependiendo de los parametros
'** Parametros:
'**     Direccion: - Tipo String por valor
'**                - Con esta variable contiene la direccion de correo electronico
'**
'**     Titulo: - Tipo String por valor
'**             - Con esta variable contiene el titulo del correo electronico
'**
'**     Texto: - Tipo String por valor
'**            - Con esta variable contiene el texto del correo electronico
'**
'**     Path_Fichero: - Tipo String por valor
'**                   - Esta variable contiene la informacion sobre donde se encuentra el fihcero a incluir
'**
'**     Nombre_Fichero: - Tipo String por valor
'**                     - Esta variable contiene la informacion sobre donde se encuentra el fihcero a incluir
'**
'** Variables globales que modifica: N/A
'** Referencia a Funciones: N/A
'** Valores devueltos:
'**     - 0 --> La funcion se ha realizado correctamente.
'**     - 1 --> La funcion no se ha completado correctamente.
'***********************************************************************************************************
Function Send_Mail(ByVal Direccion As String, ByVal Titulo As String, ByVal Texto As String, ByVal Path_Fichero As String, ByVal Nombre_Fichero As String, ByRef MMensaje As MAPIMessages, ByVal Attach As Boolean) As Integer
'Control Errores
On Error GoTo CONTROL_ERRORES:

If Attach Then
    'Enviar Mensaje
    MMensaje.Compose
    MMensaje.RecipDisplayName = Direccion
    MMensaje.MsgSubject = Titulo
    MMensaje.MsgNoteText = Texto & Chr(vbKeyTab)
    MMensaje.AttachmentIndex = 0
    MMensaje.AttachmentType = 0
    MMensaje.AttachmentPosition = Len(MMensaje.MsgNoteText) - 1
    MMensaje.AttachmentPathName = Path_Fichero & Nombre_Fichero
    MMensaje.Send
Else
    'Enviar Mensaje
    MMensaje.Compose
    MMensaje.RecipDisplayName = Direccion
    MMensaje.MsgSubject = Titulo
    MMensaje.MsgNoteText = Texto
    MMensaje.Send
End If

Send_Mail = 0
Exit Function
'Control Errores
CONTROL_ERRORES:
If Err.Number <> 0 Then
    'MsgBox "Error Mandando mail. " & Err.Description
    Send_Mail = 1
    Exit Function
End If
End Function
Espero que te sirva
Pablo
  #3 (permalink)  
Antiguo 18/03/2004, 13:17
 
Fecha de Ingreso: enero-2004
Ubicación: México D,F
Mensajes: 44
Antigüedad: 20 años, 3 meses
Puntos: 0
GRACIAS pero creo que utilizaste los dos crontroles:
MAPISession
MAPIMessages

Asi claro que funciona, pero a mi me lo piden de de esta forma


Dim objSession As Object
Dim objMessage As Object
Set objSession = CreateObject("MAPI.SESSION")
objSession.Logon "Your Profile Name", , False,False
Set objMessage = objSession.Inbox.Messages.Add
objMessage.Subject = "Assunto da mensagem"
objMessage.Text = "Texto da Mensagem"
objMessage.Attachments.Add "Anexo", , , "C:\webmundi.DOC"
'caminho do arquivo em anexo
objMessage.Recipients.Add "endereço do e-mail"
objMessage.Recipients.Resolve
objMessage.Send

mira este link
http://www.webmundi.com/vb/vbr.asp?offset=10&IdDica=64

No se que me hace falta

espero su respuesta..
  #4 (permalink)  
Antiguo 18/03/2004, 13:33
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 20 años, 5 meses
Puntos: 0
Esa es la forma de crear objetos para VBScript y apenas lo he utilizado, pues para VB utilizaría los controles.

Por el error que te da, tienes las librerías MAPI instaladas? Creo que vienen en el CD de Windows...

Si no es eso poco más puedo ayudarte.

Un saludo
Pablo
  #5 (permalink)  
Antiguo 18/03/2004, 20:47
 
Fecha de Ingreso: septiembre-2003
Ubicación: Tiuana BC. mex.
Mensajes: 14
Antigüedad: 20 años, 7 meses
Puntos: 0
a mi me Funciono perfecto

Oye ese codigo me funciono perfecto

Esto lo saque de la ayuda

Note If you attempt to run a program that uses the MAPI controls, make sure that you have the 32-bit MAPI DLLs installed properly or you may not be able to perform MAPI functions such as SignOn. For example, on Windows 95 or later, you must install Exchange during the operating system setup, or install it separately from the control panel to correctly use MAPI functions.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:17.