Guardar en JPG cada una de las celdas de una columna.

Para Dante amor. Hola me ayudaste a hacer una macro que hacia lo siguiente:

  1. En la hoja "registro", en la columna A, pon tus nombres, iniciando en la fila 2
  2. En la columna B pon los correos de los destinatarios
  3. La macro genera un pdf por cada nombre que se encuentra en la columna A, solamente pone el contenido de la celda de la columna A
  4. Al pdf le pone por nombre el valore de la celda de la columna
  5. Cambia en la macro "[email protected]" por tu correo de gmail y "pwd" por tu password
  6. La macro te pone en la columna C por cada nombre, si el correo se envió o tuvo algún error.

¿Ahora me podrías ayudar a hacer lo mismo pero que enves de PDF se guarde en JPG?

1 respuesta

Respuesta
1

Te anexo la macro actualizada, recuerda realizar los cambios de datos en la macro.

Sub Pdf_Enviar_Correos_Gmail()
'---
'   Por.Dante Amor
'---
    '***Macro Para enviar correos por Gmail
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Set h = Sheets("REGISTRO")
    Set h2 = Sheets.Add
    '
    correo = "[email protected]"                 'correo gmail
    passwd = "pwd"                              'tu password
    '
    ruta = "C:\Users\itumi\Desktop\PRUEBAS\"
    'ruta = ThisWorkbook.Path & "\"
    h.Select
    For i = 2 To h.Range("B" & Rows.Count).End(xlUp).Row
        '
        archivo = ruta & Cells(i, "A").Value & ".jpeg"
        'Cells(i, "A").ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=archivo, _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, OpenAfterPublish:=False
        '
        h.Range("A" & i).CopyPicture
        h2.Shapes.AddChart
        With h2.ChartObjects(1)
            .Width = h.Range("A" & i).Width
            .Height = h.Range("A" & i).Height
            .Chart.Paste
            .Chart.Export archivo
            .Delete
        End With
        '
        Dim Email As CDO.Message
        Set Email = New CDO.Message
        Email.Configuration.Fields(cdoSMTPServer) = "smtp.gmail.com"
        Email.Configuration.Fields(cdoSendUsingMethod) = 2
        With Email.Configuration.Fields
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = CLng(465)
            .Item("http://schemas.microsoft.com/cdo/" & "configuration/smtpauthenticate") = Abs(1)
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = correo
            .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = passwd
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
        End With
        With Email
            .To = Range("B" & i).Value           'Destinatarios
            .From = correo
            .Subject = "Asunto"
            .TextBody = "Cuerpo del mensaje"
            If Dir(archivo) <> "" Then
                .AddAttachment archivo
            End If
            .Configuration.Fields.Update
            On Error Resume Next
            .Send
            If Err.Number = 0 Then
                Cells(i, "C") = "El mail se envió con éxito"
            Else
                Cells(i, "C") = "Se produjo el siguiente error: " & Err.Number & " " & Err.Description
            End If
            On Error GoTo 0
        End With
        Set Email = Nothing
    Next
    Application.DisplayAlerts = False
    h2.Delete
    Application.DisplayAlerts = True
    MsgBox "Correos enviados", vbInformation, "SALUDOS"
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Hola, muchas gracias.

Ya la probé pero me genera imágenes de una celda vacía y si tengo información en la celda, ahora bien, tengo configurada la hoja para que se impriman encabezados y de hecho en la macro que me ayudaste a hacer en PDF me sale super bien con los encabezados y en tamaño carta, ¿se puede que salga igual que en PDF pero como archivo imagen?

En mis pruebas sí funciona.

Realiza una prueba con un solo registro, pon una letra en la celda A2

La macro anterior solamente ponía la celda no ponía encabezado, y la impresión del pdf es diferente a una imagen

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas