Importar a VC datos de excel

Foro genérico sobre programas relacionados con el trading: gráficos, ejecución de órdenes, automatización, etc.
Responder
Avatar de Usuario
Optiondreamer
Mensajes: 342
Registrado: 28 Mar 2006 08:07
Ubicación: 40.705571, -74.013432

Importar a VC datos de excel

Mensaje por Optiondreamer »

Holass

He leido por ahí que se puede importar a Visual Chart datos ajenos, por ejemplo los contenidos en una hoja de cálculo de Excel.
Todavía no me he puesto a investigar a fondo, y quisiera si alguno/a lo ha probado y funciona, comentase algo acerca del tema.
El método no debe ser muy complicado, simplemente abrir la hoja de calculo mediante código VBA, pasar a variables los datos contenidos en la hoja de cálculo(recordset) y una vez en VC, trabajar con las funciones propias de este programa.
¿Alguno/a sabe de alguna página donde se aborde el tema de VBA para VC en profundidad?

Saludos.
Avatar de Usuario
hammer
Mensajes: 675
Registrado: 12 Jul 2005 02:00

Mensaje por hammer »

Hola Optiondreamer,

A esto no le llamaría importar datos, sino más bien acceder a datos externos, porque la información seguirá residiendo en Excel, ¿no?

Yo lo he hecho con una base de datos de Access, no con Excel, pero supongo que viene a ser lo mismo.

Se hace igual que con cualquier programa VB o VBA. Se declaran las variables, se incluye la referencia al motor de base de datos y se accede a través del recordset.

Si quieres que te ponga código de ejemplo, dímelo.

Un saludo ;-)
Si no te equivocas de vez en cuando, quiere decir que no estás aprovechando todas tus oportunidades. Woody Allen.
Avatar de Usuario
Optiondreamer
Mensajes: 342
Registrado: 28 Mar 2006 08:07
Ubicación: 40.705571, -74.013432

Mensaje por Optiondreamer »

Hola bunder,

Gracias por tu respuesta. Tienes razón en la matización importar/acceso. Me refería a poder leer desde VC los datos que hay en Excel.
Respecto a Access/Excel, tanto monta, monta tanto . . . Me defiendo bien en ambos, y la verdad, para empezar, no vendría mal una ayudita con un poco de código a modo de ejemplo.
Sin querer abusar demasiado, ¿habéis probado a acceder a las tablas de VC? Me parece o que están codificadas, o que tienen algún formato que no es puramente VBA.

En fín, gracias de nuevo y saludos.
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12791
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Los datos de las tablas los puedes transmitir por DDE a Excel y a Access.

Un saludo
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Avatar de Usuario
Optiondreamer
Mensajes: 342
Registrado: 28 Mar 2006 08:07
Ubicación: 40.705571, -74.013432

Mensaje por Optiondreamer »

Hola X-Trader, gracias por tu respuesta.
Creo que me he explicado mal. Lo que intento hacer es lo inverso. Poder crear una tabla de VC a partir de datos ubicados en Excel/Access.
Saludos.

Avatar de Usuario
X-Trader
Administrador
Mensajes: 12791
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Eso ya es harina de otro costal... ;-)

Un saludo
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Avatar de Usuario
hammer
Mensajes: 675
Registrado: 12 Jul 2005 02:00

Mensaje por hammer »

Optiondreamer,

Para acceder al contenido de una tabla de Access desde un sistema de VC hay que hacer lo siguiente:

Declarar las variables

Código: Seleccionar todo

Dim WkSp As Workspace
Dim dbTnd As Database
Dim rstDatos As Recordset
Abrir el espacio de trabajo del motor y la base de datos

Código: Seleccionar todo

Set WkSp = DBEngine.CreateWorkspace("MainWS", "admin", "")
Set dbTnd = WkSp.OpenDatabase("MiBaseDeDatos.mdb")
Abrir la tabla en un recordset (con índice si se quiere)

Código: Seleccionar todo

Set rstDatos = dbTnd.OpenRecordset("MiTabla")
rstDatos.index = "PrimaryKey"
Y listos para acceder a los campos

Código: Seleccionar todo

rr = rstDatos("MiCampo")
Antes de poder compilar la primera vez, hay que indicar la referencia al motor de base de datos.

En Tools / References:
Imagen

En mi configuración, cada vez que abro un gráfico, y antes de insertar un sistema o estudio que use una base de datos, tengo que volver a recompilarlo. No sé si a ti te pasará lo mismo. No he investigado el porqué (tampoco me incordia mucho).

Lo de acceder a las tablas de VC no lo he intentado.

Saludos ;-)
Adjuntos
refer.jpg
refer.jpg (36.78 KiB) Visto 788 veces
Si no te equivocas de vez en cuando, quiere decir que no estás aprovechando todas tus oportunidades. Woody Allen.
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Software”