Esta segunda parte es continuación de esta primera donde hoy vamos a seguir trabajando con VBScript y Excel dentro de nuestro proyecto en WinCC.
El objetivo es crear una nueva hoja Excel cada vez que se cargue una receta, e insertar los datos que teniamos en el archivo *.txt (La Receta) ordenar estos según su tratamiento, ya sea en Automático o Manual, enviarlo a la impresora y guardar el archivo.
Hay que recordar, que habiamos creado un array arrRecipe(20,20) para guardar los 20 códigos de los ingredientes, mas los 20 pesos, a mas del nombre de la receta y el número de código de la receta. Aunque ahora cuando trabajemos con excel, esté ordén ya está realizado.
El resultado final de lo que vamos a hacer es el siguiente, pero para poder explicarlo mas facílmente, como dice el refrán, una imagen vale mas que mil palabras.
Ahora vamos a ir explicando el proceso que he seguido, en esta primera parte hemos instanciado un objeto del tipo Excel.Aplication, lo hacemos visible y añadimos un Workbooks en el que vamos a trabajar. A continuación ponemos los encabezados y del array extraemos el código y el nombre.
Para los 9 primeros ingredientes, que son los considerados a procesar en Automático, le cambiamos el color de fondo y de texto, seleccionando el rango y con sus propiedades correspondientes le aplicamos el color según nos interese.


El siguiente fragmento de código lo vamos a aplicar para darle un poco de formato a la hoja, lo que hace es ponerle borde a un rango de celdas.
Las celdas en cuestion las recorremos con los bucles.
.Borders(x) significa que según el número que le pasemos aplicaremos el borde derecho, izquierdo, superior e inferior
Los siguientes bucles, van a ser los que se van a encargar de rellenar las diferentes columnas, el primer bucle vamos a escribir el número de orden.
El segundo bucle va a cargar el código del ingrediente y el último de ellos va a cargar el peso.

La última parte del código va a ajustar el ancho y alto de las celdas del rango seleccionado al texto que lo contenga, serían las 6 primeras líneas.
Las tres siguientes seleccionan un rango de celdas y las junta, como valor se le pasa la función Now que escribira la fecha y hora.
Para guardar el archivo hemos hecho una concatenación de los datos extraidos de dia,mes y año de la función Date() y de la función Time() extraemos hora,minuto y segundos, todo ello lo guardamos en la variable fecha y guardamos con ese nombre nuestro libro excel. Una vez guardado se cierra y listo.
Antes de cerrar faltaria una linea para imprimir el archivo:
objExcel.ActiveDocument.PrintOut

Y para verlo en funcionamiento un pequeño video demostrativo, excepto la impresión.
16 de Mayo del 2013
Si te ha gustado o la información te ha sido útil, compartelo ...