Datacycle Reporting en sus versiones empresariales, permite la ejecución de scritps a través de la tarea Código Script dentro de un proceso. Este script puede ser programado tanto en lenguaje VBScript como en JScript.
Para crear un proceso que ejecute la tarea código script:
1. Desde Todos los procesos, crear un nuevo proceso compuesto (si el proceso no generará el fichero a imprimir)
2. Indicar el nombre en Datos Básicos
3. Desde las Tareas del Proceso, insertar tarea tipo Código Script.
4. Indicar un título a la tarea y configurar los parámetros requeridos.
5. Colocar el código script correspondiente. Crear parámetros si fuese necesario.
6. Aceptar y guardar el proceso.
Ejemplos:
Acontinuación tenemos varios ejemplos en Visual Basic Script que nos permiten imprimir todos los archivos de un directorio, o bien, un archivo concreto. La configuración de los parámetros es la siguiente:
* Lenguaje: VBScript
* Función de inicio de la ejecución: seleccionar el nombre de la función del desplegable
* Valor en caso de retorno en caso de éxito: 0
Todos los archivos de un directorio:
Sub ImprimirFicherosDirectorio
Dim TargetFolder
Dim objShell,objFolder,colItems
TargetFolder = "C:\Informes"
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(TargetFolder)
Set colItems = objFolder.Items
For Each objItem in colItems
objItem.InvokeVerbEx("Print")
Next
Set objShell = Nothing
Set objFolder = Nothing
Set colItems = Nothing
End Sub
Nota: Podemos cambiar el directorio usando un parámetro dentro del proceso que remplace la ruta del ejemplo "C:\Informes"
Un archivo de texto:
Sub ImprimirTXT
Dim objShell,objFolder,objFolderItem
Dim strFileName,strPath
strFileName = "MailLog.txt"
strPath = "C:\Informes"
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(strPath)
Set objFolderItem = objFolder.ParseName(strFileName)
objFolderItem.InvokeVerbEx("Print")
Set objShell = Nothing
Set objFolder = Nothing
Set objFolderItem = Nothing
End Sub
Nota: Podemos cambiar el directorio y el nombre del fichero usando parámetros dentro del proceso que remplacen la ruta del ejemplo "C:\Informes" y el nombre "MailLog.txt"
Todas las hojas de un libro Excel:
Sub ImprimirTodasExcel
Dim objExcel, objWorkBook
Set objExcel = CreateObject("EXCEL.APPLICATION")
Set objWorkBook = objExcel.Workbooks.Open("C:\informe.xls")
objWorkBook.PrintOut
objWorkBook.Close False
Set objWorkBook = Nothing
Set objExcel = Nothing
End Sub
Nota: Podemos cambiar el fichero a imprimir usando un parámetro dentro del proceso que remplace el nombre del fichero de ejemplo "C:\informe.xls"
Una hoja determinada de un libro Excel:
Sub ImprimirExcel
Dim objExcel, objWorkBook
Set objExcel = CreateObject("EXCEL.APPLICATION")
Set objWorkBook = objExcel.Workbooks.Open("C:\informe.xls")
objWorkBook.Sheets ("Informe").PrintOut
objWorkBook.Close False
Set objWorkBook = Nothing
Set objExcel = Nothing
End Sub
Nota: Podemos cambiar el fichero y nombre de la hoja a imprimir usando parámetros dentro del proceso que remplacen el nombre del fichero de ejemplo "C:\informe.xls" y el nombre de la hoja "Informe"
Un documento Word:
Sub ImprimirWord
Dim objWord , objDoc
set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open("C:\scripts\Ejemplo.doc")
objDoc.PrintOut()
objWord.Quit
End Sub
Nota: Podemos cambiar el fichero a imprimir usando un parámetro dentro del proceso que remplace el nombre del fichero de ejemplo "C:\scripts\Ejemplo.doc"
Si el proceso genera el informe a imprimir, podemos utilizar los parámeros de contexto de ejecución: TARGET_FILE_FULL_PATH, TARGET_FILE_PATH Y TARGET_FILE_NAME para parametrizar la ruta y/o el nombre del fichero a imprimir.
La tarea Código Script está disponible en nuestras ediciones empresariales Workgroup y Entrerprise.
0 Comentarios