Access - problema con Adjunto para envio correo

   
Vista:

problema con Adjunto para envio correo

Publicado por Leonard (58 intervenciones) el 11/12/2007 15:11:16
Hola Amigos :

estoy tratanto de enviar un correo, pero cuando trato de colocar el archivo adjunto utilizando una variable, String o variant, me presenta un error en cambio cuando escribo la ruta del archivo adjunto corre el sub perfectamente, alguien me puede ayudar, explicandome y dandome una solución.

Abajo les dejo el sub gracias por su ayuda


Private Sub Command20_Click()

Dim outApp As Outlook.Application
Dim outMail As Outlook.MailItem


Set outApp = CreateObject("Outlook.Application")

Set outMail = outApp.CreateItem(olMailItem)

Dim para As Variant
Dim Concopia As Variant
Dim copiaoculta As Variant
Dim cuerpo As Variant
Dim TitMsg As Variant
Dim Archivoenvio As Variant


Set para = Nothing
Set Concopia = Nothing
Set copiaoculta = Nothing
Set cuerpo = Nothing
Set Archivoenvio = Nothing

Set para = To_Para
Set Concopia = CC_ConCopia
Set copiaoculta = CCO_CopiaOculta
Set TitMsg = Titulomsg1
Set cuerpo = Mensaje
Set Archivoenvio = Dir_Archivo

If IsNull(para) Then
MsgBox ("Insertar Destinatario")
Exit Sub
Else
If IsNull(Concopia) Then
Concopia = ""
End If
If IsNull(copiaoculta) Then
copiaoculta = ""
End If
If IsNull(cuerpo) Then
MsgBox ("Insertar información del correo")
Exit Sub
End If

End If
If IsNull(TitMsg) Then
MsgBox ("Insertar tema del mensaje")
Exit Sub
End If


With outMail
.TO = para
.CC = Concopia
.BCC = copiaoculta
.Subject = TitMsg
.Body = cuerpo
.Attachments.Add Archivoenvio ( en este punto presento el error)
.Display

End With


'
Set para = Nothing
Set Concopia = Nothing
Set copiaoculta = Nothing
Set cuerpo = Nothing
Set outMail = Nothing
Set outApp = Nothing

End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema con Adjunto para envio correo

Publicado por JOSELO (8 intervenciones) el 11/12/2007 15:25:37
La verdad que el código es bastante interesante.

Pero tengo una duda, ya que comentas que el archivo lo seleccionas (supongo con un FileDialog), este archivo que necesitas adjuntar, puede ser cualquiera o es el mismo siempre con distinto contenido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con Adjunto para envio correo

Publicado por Leonard (58 intervenciones) el 11/12/2007 15:28:26
Amigo: puede ser cualquier tipo de archivo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con Adjunto para envio correo

Publicado por JOSELO (232 intervenciones) el 11/12/2007 15:32:08
Entiendo una parte.

Lo parte que no entiendo es el archivo lo seleccionas como un objeto o solamente le definis el path
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con Adjunto para envio correo

Publicado por Leonard (58 intervenciones) el 11/12/2007 15:40:27
Amigo de verdad gracias ya entendi cual es mi error, aclaro yo no soy un informatico ni nada, solo entiendo un poquito de esto. pero ya se cual fue el error

de verdad gracias. de todas manera voy a corregir sino consigo volvere a recurrir a tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con Adjunto para envio correo

Publicado por JOSELO (232 intervenciones) el 11/12/2007 15:44:41
Me alegro que hayas encontrado el error.

Yo tampoco soy programador, ahora trabajo en esto por un tema de necesidad laboral, pero si nos podes ayudar mutuamente, estaría bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con Adjunto para envio correo

Publicado por Leonard (58 intervenciones) el 11/12/2007 16:20:57
Joselo cuenta con eso, bueno vuelvo a recurrir a ti,

sigo presentando el problema, en el primer sub selecciono el archivo y lo envío como registro a mi formulario, para luego llamarla en el siguiente sub (Dir_Archivo)



Private Sub Adjunto_Click()
Dim nombrearchivo As Variant
Dim fd As FileDialog

Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
If .Show = -1 Then
For Each nombrearchivo In .SelectedItems
MsgBox "The path is: " & nombrearchivo
Dir_Archivo = nombrearchivo
Next nombrearchivo

Else
End If
End With

End Sub
_-------------------------------------------------------------------------------
Private Sub Command20_Click()

Dim outApp As Outlook.Application
Dim outMail As Outlook.MailItem
Dim archattach As Outlook.Attachment

Set outApp = CreateObject("Outlook.Application")

Set outMail = outApp.CreateItem(olMailItem)

Dim para As Variant
Dim Concopia As Variant
Dim copiaoculta As Variant
Dim cuerpo As Variant
Dim TitMsg As Variant


Set para = Nothing
Set Concopia = Nothing
Set copiaoculta = Nothing
Set cuerpo = Nothing

Set para = To_Para
Set Concopia = CC_ConCopia
Set copiaoculta = CCO_CopiaOculta
Set TitMsg = Titulomsg1
Set cuerpo = Mensaje

If IsNull(para) Then
MsgBox ("Insertar Destinatario")
Exit Sub
Else
If IsNull(Concopia) Then
Concopia = ""
End If
If IsNull(copiaoculta) Then
copiaoculta = ""
End If
If IsNull(cuerpo) Then
MsgBox ("Insertar información del correo")
Exit Sub
End If

End If
If IsNull(TitMsg) Then
MsgBox ("Insertar tema del mensaje")
Exit Sub
End If


With outMail
.TO = para
.CC = Concopia
.BCC = copiaoculta
.Subject = TitMsg
.Body = cuerpo
.Attachments.Add Dir_Archivo ( aqui vuelvo a presentar el error )

End With


'
Set para = Nothing
Set Concopia = Nothing
Set copiaoculta = Nothing
Set cuerpo = Nothing
Set outMail = Nothing
Set outApp = Nothing

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con Adjunto para envio correo

Publicado por JOSELO (8 intervenciones) el 11/12/2007 17:18:58
El problema que las variables no pasan de un Sub a otro Sub.

Para solucionarlo, lo que podés hacer es en el formulario crear un control que contenga el valor de Dir_Archivo, por ejemplo NombreFile, en el procedimiento Private Sub Adjunto_Click() escribis el código
me.NombreFile = nombrearchivo

Y en el procedimiento Private Sub Command20_Click()
With outMail
.TO = para
.CC = Concopia
.BCC = copiaoculta
.Subject = TitMsg
.Body = cuerpo
'.Attachments.Add Dir_Archivo ( aqui vuelvo a presentar el error )
Attachments.Add me.NombreFile
End With

fijate si funciona, si es OK, al control NombreFile le podés establecer la propiedad Visible = No, asi nadie se entera.

Exitos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con Adjunto para envio correo

Publicado por Leonard (58 intervenciones) el 11/12/2007 17:25:59
Joselo eso mismo hice Dir_Archivo es un control del Formulario, y persiste el problema esto me tiene el craneo roto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con Adjunto para envio correo

Publicado por Angel Andres (84 intervenciones) el 11/12/2007 17:27:08
Hola Emilio y Joselo. Antes que nada les digo que estoy en la misma condiciones que ustedes; "no soy programador". Ahora bien, me interesó el poder enviar un mail con adjunto. Mi intención es enviar siempre el mismo archivo. Este archivo sería al backup de la base. Me pueden ayudar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Repuesta Angel Andres

Publicado por Leonard (58 intervenciones) el 11/12/2007 17:32:18
Es mas sencillo si tiene definido un archivo unico, puedes tomar el codigo abajo
Private Sub Command20_Click()

Dim outApp As Outlook.Application
Dim outMail As Outlook.MailItem
Dim archattach As Outlook.Attachment

Set outApp = CreateObject("Outlook.Application")

Set outMail = outApp.CreateItem(olMailItem)

Dim para As Variant
Dim Concopia As Variant
Dim copiaoculta As Variant
Dim cuerpo As Variant
Dim TitMsg As Variant


Set para = Nothing
Set Concopia = Nothing
Set copiaoculta = Nothing
Set cuerpo = Nothing

Set para = To_Para
Set Concopia = CC_ConCopia
Set copiaoculta = CCO_CopiaOculta
Set TitMsg = Titulomsg1
Set cuerpo = Mensaje

If IsNull(para) Then
MsgBox ("Insertar Destinatario")
Exit Sub
Else
If IsNull(Concopia) Then
Concopia = ""
End If
If IsNull(copiaoculta) Then
copiaoculta = ""
End If
If IsNull(cuerpo) Then
MsgBox ("Insertar información del correo")
Exit Sub
End If

End If
If IsNull(TitMsg) Then
MsgBox ("Insertar tema del mensaje")
Exit Sub
End If


With outMail
.TO = para
.CC = Concopia
.BCC = copiaoculta
.Subject = TitMsg
.Body = cuerpo
.Attachments.Add ("Ruta Completa del archivo a enviar")

End With


'
Set para = Nothing
Set Concopia = Nothing
Set copiaoculta = Nothing
Set cuerpo = Nothing
Set outMail = Nothing
Set outApp = Nothing

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Repuesta Angel Andres

Publicado por Leonard (58 intervenciones) el 11/12/2007 17:34:32
me falto esto:
y en la parte de attachments.add como la ruta del archivo completa

Attachments.Add ("Ruta Completa del archivo a enviar")

saludos

Leonard
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Repuesta Angel Andres

Publicado por JOSELO (232 intervenciones) el 11/12/2007 18:03:39
Leonard:

Quise pegar el código en un formulario nuevo y cuando lo ejectuo me da error en estas líneas.
¿Que referencias utiliza esto objetos de Outlook?

Dim outApp As Outlook.Application
Dim outMail As Outlook.MailItem
Dim archattach As Outlook.Attachment
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Repuesta Angel Andres

Publicado por Leonard (58 intervenciones) el 11/12/2007 18:18:35
Utilizo la libreria Microsoft Outlook 11.0 Object Library

Pero puedes eliminar la ultima linea esa fue una prueba que estaba haciendo y se me olvido quitarla estas (Dim archattach As Outlook.Attachment )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Repuesta Angel Andres

Publicado por Angel Andres (20 intervenciones) el 13/12/2007 03:47:10
Gracias Leonard y Joselo recién pude entrar a ver el foro. Ya voy a intenter hacerlo funcionar y les aviso!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Repuesta Angel Andres

Publicado por Angel Andres (20 intervenciones) el 13/12/2007 04:23:58
Hola Leonard, te cuento que copié el código en un botón y reemplacé las líneas que me dijiste y me da el siguiente err "Se ha producido el error "13" en tiempo de ejecución: No coinciden los tipos.
Bueno... quedo a la espera de un respuesta y perdón la molestia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar