Excel vbs

14/09/2008 - 19:04 por I301199 | Informe spam
Buenas, me gustaría que alguien me echase una mano para realizar los
siguiente con un script vbs:
abrir csv con excel , realizar una serie de cambios en los formatos de
ciertas columnas y después generar un gráfico a partir de dos columnas.

He creado una plantilla que incluye una macro para hacer todo lo relativo al
cambio de formato en las columnas y la generación del gráfico, pero no sé
como hacer para abrir la xlt (plantilla) y luego pegarle el contenido del csv
y después aplicar la macro...

No sé, seguro que hay una manera más fácil de hacerlo..

Alguien me puede echar una mano??
Muchas gracias!!
Saludos
I301199

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
15/09/2008 - 04:19 | Informe spam
hola, 'anonimo/a' !

Mostrar la cita
1) para crear un dcumento nuevo basado en alguna (pre/determinada) plantilla (*.XLT) usa el metodo .Add (p.e.)
workbooks.add "ruta:\y sub\carpetas\donde esta\tu plantilla.XLT"
no olvides que el nuevo libro queda como el "libro activo" (al igual que cuando se abre cualquier documento)

2) para "pegar" el contenido de un *.CSV pudiera haber diversas alternativas...

a) abrir el *.csv, copiar los datos "correspondientes" y pegarlos "donde corresponda" en el libro "apropiado"
op1: workbooks.open "c:uta y sub\carpetas\donde esta\tu archivo.CSV"
op2: workbooks.opentext "c:uta y sub\carpetas\donde esta\tu archivo.CSV" ' <= esta variante tiene mas opciones
-> consulta la ayuda en linea {F1} por las diferentes alternativas para abrir archivos de texto

b) usar ADO para "leer" los datos en el *.CSV y pegarlos en algun libro (abierto) con un objeto RecordSet

de seguro hay mas opciones (si comentas algo mas concreto como para poder (re)construir el modelo a resolver)

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
#2 I301199
16/09/2008 - 23:41 | Informe spam
Muchas gracias!! Ya pude!
Ahora tengo otra duda:
El código vb que se genera automaticamente cuando grabas una macro desde
excel se puede invocar directamente desde un .vbs??

Lo pregunto porque al invocar este sub dentro de mi vbs me da un error en la
linea 6: "Error de compilación de Microsoft VBScript: Se esperaba una
instrucción"
Sin embargo, si ejecuto la macro desde la propia excel todo va OK.

Muchas gracias de antemano.

Saludos!
Sub Macro1()
'1' nombre_de_la_hoja = ActiveSheet.Name
'2' Range("B1:B6,D1:D6").Select
'3' Range("D1").Activate
'4' Charts.Add
'5' ActiveChart.ChartType = xlColumnClustered
'6' ActiveChart.SetSourceData
Source:=Sheets(nombre_de_la_hoja).Range("A:A,D:D"), PlotBy:=xlColumns
'7' ActiveChart.Location Where:=xlLocationAsObject, Name:=nombre_de_la_hoja
End Sub

"Héctor Miguel" wrote:

Mostrar la cita
#3 Héctor Miguel
17/09/2008 - 00:01 | Informe spam
hola, (...) ???

Mostrar la cita
considera que una macro "de excel" ejecutada "desde el mismo excel"
utiliza de manera transparente las llamadas a sus objetos, metodos, propiedades, etc. etc. etc.

ejecutar codigo "de excel", FUERA de su entorno, (seguramente) dependera de...
- como establezcas el vinculo entre tu archivo de texto (*.vbs) y alguna instancia de excel -?-
- como hagas un llamado a los procedimientos generados por la grabadora de macros en excel -?-

saludos,
hector.

__ codigo expuesto __
Mostrar la cita
Ads by Google
Search Busqueda sugerida