Apuntes Técnicos
Macro para enviar por mail un
reporte específico utilizando Microsoft Outlook
Introducción a
las macros en Cognos
Cognos Script es
la herramienta donde se puede automatizar las aplicaciones de Cognos, utiliza un lenguaje
basado en BASIC y automatización OLE. Se pueden generar macros que corran reportes de
Impromptu o Power Play o que construyan cubos por ejemplo. Casi cualquier cosa que un
usuario puede hacer, se puede automatizar con macros.
Se puede dar de
alta una macro en cierto reporte de Impromptu o PowerPlay y colocarla en un botón de la
barra de herramientas para que realice cierta tarea específica que si el usuario la
hiciera tardaría mas tiempo.
Se pueden
utilizar lenguajes de macro tales como Visual Basic o Microsoft Excel para crear códigos
que ejecuten ciertas tareas.
Código
Declare Sub SendMail(strReportName As String)
Sub main()
'Rutinas para salvar el reporte a lo que se desee salvar, o
'se podría correr el reporte en Scheduler y despues con esta macro enviar
por mail
'Se especifica el nombre del archivo a adjuntar en el mail
strReportName = "C:\REPORTE.PDF"
Call SendMail(ReportName)
End sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub SendMail(strReportName As String)
'Declaración de variables
Dim objOutlook As Object
Dim objMail As Object
Dim objOutlookAttach As Object
'Se declara un objeto de tipo Outlook
Set objOutlook = CreateObject("Outlook.Application")
'Se crea un nuevo mensaje
Set objMail = objOutlook.CreateItem(olMailItem) 'Create a new
Set objOutlookAttach = objOutlook.CreateItem(olAttachMents)
'Se le asignan los valores a las distintas propiedades
del objeto "mail"
With objMail
'A quien va
dirigido se podría escribir un grupo de usuarios de Outlook
.To =
"contacto@profinmexico.com"
'Se especifica el
asunto
.Subject = "Reporte Semanal de
Cognos"
'Se especifica lo
que se quiere que diga el mensaje
.Body = "Hola, te envio el reporte
semanal"
'Se escriben el o
los archivos a adjuntar en el mail
.Attachments.Add (strReportName)
'Se manda el
mensaje
.Send
End With
'Se cierran todos los objetos utilizados
Set objMail = Nothing
Set objOutlook = Nothing
End Sub
Si desea aprender mas sobre macros tenemos el
curso de CognosScript Basics.
(Desarrollado por PROFIN México) |