Logotipo
Seguir

DCR: Imprimir un fichero desde DataCycle Reporting usando un script

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.

¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0
¿Tiene más preguntas? Enviar una solicitud

0 Comentarios

Inicie sesión para dejar un comentario.
Tecnología de Zendesk