domingo, 30 de septiembre de 2018
Microsoft Excel 2019
jueves, 30 de agosto de 2018
Microsoft Outlook desde Excel (IV): Enviar hojas y el libro activo por correo
En esta ocasión seguiremos trabajando con Microsoft Outllok pero ahora lo que veremos es como enviar hojas de un libro o incluso el propio libro como archivo adjunto del mensaje de correo. Voy a suponer que ya leyeron este artículo: Enlace, así que solo diré que para enviar el libro de Excel que es el activo en ese momento, bastará agregar una línea para adjuntarlo, además de lo habitual en estos casos. Con dicha línea lo que haremos es usar la propiedad “FullName”, que devuelve el nombre del libro incluyendo la ruta de su ubicación. De ese modo en el correo se adjuntará el archivo (siempre y cuando se haya guardado). Entonces, prueben esto:
Sub EnviarMensajeOutlook()
Dim OutlookApp As Outlook.Application
Dim objItem As MailItem
Set OutlookApp = CreateObject("Outlook.Application")
Set objItem = OutlookApp.CreateItem(olMailItem)
With objItem
.To = "abraham.valencia@gmail.com" 'Para
.Subject = "Adjuntando archivo" 'Asunto
.Body = "Estamos adjuntando un archivo" 'Cuerpo
.Attachments.Add ActiveWorkbook.FullName
Application.Wait (Now + TimeValue("00:00:03")) 'Tiempo para adjuntar
.Send 'Enviar
End With
Set OutlookApp = Nothing
Set objItem = Nothing
End Sub
Quizá no sea necesario enviar el libro completo sino solo la hoja activa. De ser así, guardaremos la hoja activa como archivo, lo adjuntaremos y lo eliminaremos de inmediato, en el supuesto de que no lo necesitamos posterior al envío:
Sub EnviarMensajeOutlook()
Dim OutlookApp As Outlook.Application
Dim objItem As MailItem
Set OutlookApp = CreateObject("Outlook.Application")
Set objItem = OutlookApp.CreateItem(olMailItem)
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\Temporal.xlsx"
ActiveWorkbook.Close
With objItem
.To = "abraham.valencia@gmail.com" 'Para
.Subject = "Adjuntando archivo" 'Asunto
.Body = "Estamos adjuntando un archivo" 'Cuerpo
.Attachments.Add ThisWorkbook.Path & "\Temporal.xlsx"
Application.Wait (Now + TimeValue("00:00:03")) 'Tiempo para adjuntar
.Send 'Enviar
End With
Kill ThisWorkbook.Path & "\Temporal.xlsx"
Set OutlookApp = Nothing
Set objItem = Nothing
End Sub
De no desear que sea la hoja activa la que se envíe, basta indicar, en la línea respectiva, que hoja queremos copiar:
Sheets(“Hoja45”).Copy
O incluso puede ser un archivo con solo algunas de las hojas del libro:
Sheets(Array("Hoja1", "Hoja4")).Copy
En el Array pueden ir más hojas, no solo dos, por si acaso. Y eso es todo por hoy. Nos "vemos".
Abraham Valencia
miércoles, 15 de agosto de 2018
Campeonato Mundial de Microsoft Excel (2018)
lunes, 30 de julio de 2018
Excel y Google Drive
Definitivamente una de las “nubes” más usadas para compartir archivos hoy en día debe ser “Google Drive” y definitivamente muchos usuarios de Excel también la usan para compartir y/o trabajar archivos con otras personas, priorizando incluso su uso por sobre “OneDrive” y/o Excel Online.
Lo que muchos/as no saben es que cuando se carga un archivo de Excel en “Google Drive” y se intenta abrir en línea, lo que dicha “nube” hace es convertir dicho archivo en una “Hoja de Cálculo de Google” que es, en estricto, otro programa y por ende otro formato de archivo, es decir, deja de tener formato de Excel a pesar de que el aspecto es muy similar e incluso los nombres de muchas funciones son iguales (Google las hizo así por cuestiones de compatibilidad), lo que no es de extrañar dado que ambos son el mismo tipo de programa: Hojas de cálculo (y sí, la “Hoja de Cálculo de Google” lo que hizo es tomar el nombre en base al tipo de programa).
Algo importante es no olvidar que así haya compatibilidad entre programas, eso de ningún modo asegura que las características y/o fórmulas usadas permanezcan y/o funcionen tal cual lo hacen en Excel una vez que las tenemos en “Google Drive” y queremos usarlas en línea. Una característica que no es compatible, son las macros de Excel, ya que el lenguaje usado en ellas es el VBA mientras que la “Hoja de Cálculo de Google” usa Google Apps Scripts como lenguaje de programación. Una de las preguntas más recurrentes en los foros es justamente el uso de las macros de Excel en archivos colocados en “Google Drive” pero como quizás ya entendieron, pues no, no se pueden usar.
Entonces ¿es conveniente para los usuarios/as de Excel usar “Google Drive”? Pues para compartir archivos, es decir cargar y descargar, es totalmente apto como casi toda “nube”, pero si se trata de trabajar en conjunto, pues ya saben que, al no ser los mismos programas, así como hay compatibilidades también hay limitaciones y por supuesto si se trata de macros, no hay forma de hacerlas compatibles.
Hasta la próxima.
Abraham Valencia