Referencia VBScript para Excel
Moderador: vCoaches
Referencia VBScript para Excel
Hola a todos.
Tomando "la moda" de utilizar VBScript para exportar a excel me he propuesto crear un archivo en el que exporto mi tabla de Velneo, la exportación se realiza correctamente, pero ahora deseo formatear esa hoja (dicen que se puede hacer todo), por ahora ya pude modificar ancho de columnas y modificar el tipo y tamaño de letras pero no he podido encontrar como puedo agregarle los bordes a las celdas, modificar colores, etc.
Tengo casi dos días buscando en internet un manual de referencias sobre la forma de utilizar esos formatos, por ahí encontré, por ejemplo, que para centrar el texto en las celdas tenía que poner:
objSheet.Columns( 4).HorizontalAlignment = -4108
Pero ¿como supieron que ese "-4108" es el código para que el texto se centre?, eso es lo que requiero entender.
Si alguien se compadece y me puede dar un "tip" o link o algo donde pueda encontrar esto se los agradecería infinitamente.
Tomando "la moda" de utilizar VBScript para exportar a excel me he propuesto crear un archivo en el que exporto mi tabla de Velneo, la exportación se realiza correctamente, pero ahora deseo formatear esa hoja (dicen que se puede hacer todo), por ahora ya pude modificar ancho de columnas y modificar el tipo y tamaño de letras pero no he podido encontrar como puedo agregarle los bordes a las celdas, modificar colores, etc.
Tengo casi dos días buscando en internet un manual de referencias sobre la forma de utilizar esos formatos, por ahí encontré, por ejemplo, que para centrar el texto en las celdas tenía que poner:
objSheet.Columns( 4).HorizontalAlignment = -4108
Pero ¿como supieron que ese "-4108" es el código para que el texto se centre?, eso es lo que requiero entender.
Si alguien se compadece y me puede dar un "tip" o link o algo donde pueda encontrar esto se los agradecería infinitamente.
Victor Salazar Correa
Muchas gracias por su respuesta, pero ese era precisamente el problema ya que al poner lo que pone una macro de excel en VBScript te indica que no lo soporta, bueno la cosa aquí es que buscando buscando encontré lo que buscaba y lo dejo para si a alguien mas le sirve:
Parámetros para agregar Bordes a celdas:
xlNone = -4142; esto es lo mismo que xlLineStyleNone
xlContinuous = 1;
xlDash = -4115;
xlDashDot = 4;
xlDashDotDot = 5;
xlDot = -4118;
xlDouble = -4119;
xlSlantDashDot = 13;
Estos definen el grosor del borde
xlHairLine = 1;
xlMedium = -4138;
xlThick = 4;
xlThin = 2;
Este es para definir el color por default
xlAutomatic = -4105;
Esto para definir la locación del borde
xlDiagonalDown = 5;
xlDiagonalUp = 6;
xlEdgeLeft = 7;
xlEdgeTop = 8;
xlEdgeBottom = 9;
xlEdgeRight = 10;
xlInsideVertical = 11;
xlInsideHorizontal = 12;
Esto fue tomado de un página de programación y los nombre dados son constantes que se estaban declarando en un programa por lo que esos son nombres dados que pueden ser cualquiera. yo lo utilizé de la siguiente manera;
"objRange.Borders(7).Weight = -4138" Pone el borde a la izquierda
"objRange.Borders( 8 ).Weight = -4138" Pone el Borde Superior
"objRange.Borders(9).Weight = -4138" Pone el Borde Inferior
"objRange.Borders(10).Weight = -4138" Pone el Borde a la Derecha
"objRange.Borders(11).Weight = -4138" Pone el borde interno dentro del rango
el código "-4138" pone lo bordes de grosor medio.
Parámetros para agregar Bordes a celdas:
xlNone = -4142; esto es lo mismo que xlLineStyleNone
xlContinuous = 1;
xlDash = -4115;
xlDashDot = 4;
xlDashDotDot = 5;
xlDot = -4118;
xlDouble = -4119;
xlSlantDashDot = 13;
Estos definen el grosor del borde
xlHairLine = 1;
xlMedium = -4138;
xlThick = 4;
xlThin = 2;
Este es para definir el color por default
xlAutomatic = -4105;
Esto para definir la locación del borde
xlDiagonalDown = 5;
xlDiagonalUp = 6;
xlEdgeLeft = 7;
xlEdgeTop = 8;
xlEdgeBottom = 9;
xlEdgeRight = 10;
xlInsideVertical = 11;
xlInsideHorizontal = 12;
Esto fue tomado de un página de programación y los nombre dados son constantes que se estaban declarando en un programa por lo que esos son nombres dados que pueden ser cualquiera. yo lo utilizé de la siguiente manera;
"objRange.Borders(7).Weight = -4138" Pone el borde a la izquierda
"objRange.Borders( 8 ).Weight = -4138" Pone el Borde Superior
"objRange.Borders(9).Weight = -4138" Pone el Borde Inferior
"objRange.Borders(10).Weight = -4138" Pone el Borde a la Derecha
"objRange.Borders(11).Weight = -4138" Pone el borde interno dentro del rango
el código "-4138" pone lo bordes de grosor medio.
Victor Salazar Correa
-
- vCool
- Mensajes: 101
- Registrado: 19 Sep 2008, 22:21
Cuando he necesitado exportar datos a excel con cierto formato en la hoja, he preferido hacer una plantilla en excel, un archivo sin datos con todo pre-formateado y luego con la v2Excell o con vbs lleno los datos simplemente, me parece menos trabajoso que "dibujar" el formato "a pie".
Saludos
Saludos
Amilcar Tirado
Twitter: @amilcarti
Skype:amilcar.tirado
Barquisimeto,Venezuela
Twitter: @amilcarti
Skype:amilcar.tirado
Barquisimeto,Venezuela
Hola, después de unos días de vacaciones leo esta respuesta.
La solución que da es buena, pero en mi caso en ese momento pensaba en solucionar el problema que tenía y para nada se me había ocurrido utilizar algo así, sin embargo, no se si me sería útil, me explico:
El problema era un reporte de relación de tiempo extra para la empresa en que laboro, que se realiza originalmente en Excel, pero debido a pérdidas de información ya que todos los encargados movían su información de distinta forma finalmente se planteó crear la base de datos con los empleados y dependiendo de las personas que realizan tiempo extra es como se imprime el reporte separando áreas, turnos y personal de la empresa y externos. total que el reporte nunca tiene una extensión fija (pueden ser un solo empleado con tiempo extra como pueden ser un número grande).
Aún así muchas gracias a todos por sus respuestas tanto en esta entrada como en toddo el foro, que sin estas no hubiera tenido ni idea de como realizar esta tarea. ya que de ahí es donde más se aprende.
La solución que da es buena, pero en mi caso en ese momento pensaba en solucionar el problema que tenía y para nada se me había ocurrido utilizar algo así, sin embargo, no se si me sería útil, me explico:
El problema era un reporte de relación de tiempo extra para la empresa en que laboro, que se realiza originalmente en Excel, pero debido a pérdidas de información ya que todos los encargados movían su información de distinta forma finalmente se planteó crear la base de datos con los empleados y dependiendo de las personas que realizan tiempo extra es como se imprime el reporte separando áreas, turnos y personal de la empresa y externos. total que el reporte nunca tiene una extensión fija (pueden ser un solo empleado con tiempo extra como pueden ser un número grande).
Aún así muchas gracias a todos por sus respuestas tanto en esta entrada como en toddo el foro, que sin estas no hubiera tenido ni idea de como realizar esta tarea. ya que de ahí es donde más se aprende.

Victor Salazar Correa
Re: Referencia VBScript para Excel
Hola Victor, como conseguiste ajustar el ancho de la columna, estoy buscando la forma y hasta ahora no lo encuentro, desde ya muchas gracias
-
- vMate
- Mensajes: 25
- Registrado: 20 Ago 2008, 22:01
Re: Referencia VBScript para Excel
Buenas Tardes Amigos, alguien me podria indicar como comenzar la exportacion de una Tabla a Excel, yo manejo vbscript pero no se como incorporarlo a velneo.
Desde ya muchas gracias
Desde ya muchas gracias
Marcos A. Gonzalez
Analista de Sistemas
Analista de Sistemas
- velavisual
- vLeader
- Mensajes: 1355
- Registrado: 22 Sep 2005, 17:52
Re: Referencia VBScript para Excel
@Marcos_Gonzalez
Haciendo una búsqueda de la palabra 'vbscript' encontré esto, tal vez te sirva.
viewtopic.php?f=12&t=20593&p=87785&hili ... ipt#p87785
Haciendo una búsqueda de la palabra 'vbscript' encontré esto, tal vez te sirva.
viewtopic.php?f=12&t=20593&p=87785&hili ... ipt#p87785
http://www.velavisual.com
--------------------------------
Velnear:
Acción de usar el lenguaje de programación Velneo
http://twitter.com/velavisual
http://www.facebook.com/velavisual
skype: velavisual
--------------------------------
Velnear:
Acción de usar el lenguaje de programación Velneo
http://twitter.com/velavisual
http://www.facebook.com/velavisual
skype: velavisual