Access - Enviar informe por correo con codigo VBA

 
Vista:

Enviar informe por correo con codigo VBA

Publicado por Alfredo (9 intervenciones) el 05/02/2001 13:34:51
Hola amigos, me podéis ayudar.
Me gustaría saber como puedo enviar un informe por correo electrónico mediante código VBA, y mandarlo por fax con codigo VBA o llamadas a la API para cambiar la impresora predeterminada.
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
Imágen de perfil de Alejandro

Enviar informe por correo con codigo VBA

Publicado por Alejandro (4142 intervenciones) el 14/04/2023 17:43:19
Por supuesto Alfredo, te puedo ayudar con eso. Aquí te dejo un ejemplo de cómo enviar un informe por correo electrónico con código VBA:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub EnviarInformePorCorreo()
    Dim appOutlook As Object
    Dim msg As Object
    Dim filename As String
 
    ' Crea una instancia de la aplicación Outlook
    Set appOutlook = CreateObject("Outlook.Application")
 
    ' Crea un objeto mensaje de correo electrónico
    Set msg = appOutlook.CreateItem(0)
 
    ' Establece el destinatario, asunto y cuerpo del mensaje
    msg.To = "destinatario@ejemplo.com"
    msg.Subject = "Informe de ventas"
    msg.Body = "Adjunto se encuentra el informe de ventas del mes."
 
    ' Especifica el archivo que se adjuntará
    filename = "C:\Informes\InformeVentas.pdf"
 
    ' Agrega el archivo adjunto al mensaje
    If Dir(filename) <> "" Then
        msg.Attachments.Add filename
    Else
        MsgBox "El archivo no existe.", vbExclamation, "Error"
    End If
 
    ' Envía el mensaje
    msg.Send
 
    ' Libera los objetos
    Set msg = Nothing
    Set appOutlook = Nothing
End Sub

Para enviar un fax con código VBA, necesitarías tener una impresora de fax instalada en tu ordenador y configurada como impresora predeterminada. A continuación, te dejo un ejemplo de cómo imprimir un informe en la impresora de fax predeterminada:

1
2
3
4
5
6
7
8
9
10
11
12
13
Sub EnviarInformePorFax()
    Dim filename As String
 
    ' Establece la impresora predeterminada como la impresora de fax
    Application.Printer = Application.Printers("Nombre de la impresora de fax")
 
    ' Imprime el informe en la impresora de fax
    DoCmd.OpenReport "InformeVentas", acViewNormal
    DoCmd.PrintOut acPrintAll
 
    ' Restaura la impresora predeterminada
    Application.Printer = Nothing
End Sub

Ten en cuenta que para usar este código, debes cambiar "Nombre de la impresora de fax" por el nombre de la impresora de fax que tienes instalada en tu ordenador.
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