Jump to content

Enviar rango de celdas por correo O365


Recommended Posts

Hola a todos. De nuevo por aquí pidiendo ayuda.

Nos han cambiado las licencias de Office a Office 365. He revisado las macros y las que me fallan tienen que ver con las que envío correos automatizados. He podido arreglar todas, cambiando el código porque de Office 2013 a Office 365 cambia el código, se usa el objeto CDO.Message. Pero se me resiste esta macro, que envía un correo e incluye como parte del cuerpo del correo un rango de celdas donde hay un gráfico. Os pego el código para ver si me podéis ayudar. Después de la instrucción "ActiveWorkbook.EnvelopeVisible = True" el programa ya no ejecuta nada más. He probado con F8 paso a paso y ahí se detiene.

Necesito que el cuerpo del correo inserte las celdas  A2:T49 de la hoja "Tablero". 

Si veis que así no se me entiende puedo crear un archivo y pegar la macro, pero como el código no es muy largo lo he puesto así.

 

Sub EnviarTableroInsertado()
ApplicationOff

'variables
Dim iMsg As Object, iConf As Object
Dim cuerpo As String, schema As String, spie As String, mail As String
Dim Flds As Variant

Set iMsg = CreateObject("CDO.Message"): Set iConf = CreateObject("CDO.Configuration")

iConf.Load -1
Set Flds = iConf.Fields
schema = "http://schemas.microsoft.com/cdo/configuration/"

 With Flds
            Flds.Item(schema & "sendusing") = 2
            Flds.Item(schema & "smtpserver") = "smtp.office365.com"
            Flds.Item(schema & "smtpserverport") = 25
            Flds.Item(schema & "smtpauthenticate") = 1
            Flds.Item(schema & "sendusername") = "micorreo"
            Flds.Item(schema & "sendpassword") = "micontraseña"
            Flds.Item(schema & "smtpusessl") = True
            Flds.Update
 End With

Set tb = Sheets("Tablero")
     tb.Select
     mail = tb.Range("Y2")
     tb.Range("A2:T49").Select
     '
     ActiveWorkbook.EnvelopeVisible = True
     ' 
     With iMsg
      Set .Configuration = iConf
      .From = "micorreo"
      With ActiveSheet.MailEnvelope
       .Item.Subject = "Produccion Tablero - Personal Propio I+M - " & tb.Range("M2")
       .Item.To = mail
       '.Item.CC = ""
       '.Item.Introduction = "Adjuntamos Produccion Tablero - Personal Propio I+M -" & tb.Range("M2")
       .Item.Send
      End With
     End With
      Sheets("TOTAL").Select
   Set iMsg = Nothing:    Set iConf = Nothing:    Set Flds = Nothing
   Set tb = Nothing
  '
ApplicationOn
End Sub

Gracias.

Moisés.

Link to comment
Share on other sites

Hola a todos, no me ha podido ayudar nadie de momento.

Entiendo que el Office 365 es un poco reciente y no hay tanta información. De todos modos he conseguido que la empresa me ponga el Outlook en escritorio y me vuelve a funcionar con los códigos que ya tenía, pero si a alguien se le ocurre como hacer lo que solicito ayuda os lo agradezco, seguro que será útil.

Gracias de todos modos, un abrazo.

Moisés.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Crear macros Excel

  • Posts

    • Antoni muchas gracias, si me sirvió estaba poniendo mal la celda.. Te agradezco mucho tu apoyo 🙂 Excelente máster 👌
    • Buenas tardes, ya lo hice y no me permite
    • Buenas tardes integrantes de este prestigioso foro, en esta ocasión recurro a uds para que me brinde su apoyo con la formula que vengo trabajando =SI(G8="";"";SUMA(--(FRECUENCIA((C$8:C$2507=G8)*D$8:D$2507;(C$8:C$2507=G8)*D$8:D$2507)>0))-1) el cual me esta mostrando error de valor cuando agrupo el valor fecha de la celda D8 hasta D2507, que proviene de la pestaña SORT que se ubica en la celda B2, y teniendo 2 alternativas para evitar el error de valor que serían: *REEMPLAZAR EL PARÁMETRO $2507 POR $792    "=SI(G8="";"";SUMA(--(FRECUENCIA((C$8:C$2507=G8)*D$8:D$2507;(C$8:C$2507=G8)*D$8:D$2507)>0))-1)"   ubicada en la celda K8, o *ELIMINAR LAS FILAS EN BLANCO DESDE LA A793 HASTA LA A2507 quedando los valores obtenidos en la celda J8 Desde ya agradezco su atención, para lo cual adjunto archivo. FORMULA PARA CONTAR DIAS TRABAJADOS.xlsm
    • `Hola, Para contar las celdas de un rango, que cumplen con determinado criterio puede leer el uso de la siguente función. =CONTARI.SI.CONJUNTO( https://support.microsoft.com/es-es/office/función-contar-si-conjunto-dda3dc6e-f74e-4aee-88bc-aa8c2a866842    
    • Buen dia, requiero del conocimiento y soporte  de cada uno de ustedes, tengo una columna con N filas, en esas filas ubicare valores (N) deseo el otra celda que cuente los valores estipulados en el siguiente rango y los lleve a la celda destinada para tal fin. 3.000.000  hasta  4.999.999 es sido claro compañeros   les agradezco  
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy