VBScript con Excel en WinCC
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 ha 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 codigo 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 segun 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 funcion 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 funcion 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 ...