| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
kralito Cdt


Registrado: 19 Nov 2005Mensajes: 10Ubicación: Talavera de la Reina (Toledo)
|
Publicado: Mar 20 Nov, 2007 1:00 pm Asunto: APIs EXCEL (Combobox en excel) |
|
|
Buenos días.
Estoy haciendo una aplicación y tengo que insertar en una hoja de excel un comboBox con unos datos. No he tenido mucho contacto con las APIs de EXCEL, como mucho creo libros, cambio nombre y meto datos en celdas cambiando el formato de las mismas, pero ya meter macros, filtros, combos etc no tengo ni idea.
Alguien sabe como se puede hacer?
También me gustaría saber si alguien conoce algúna página con información completa sobre las APIs de EXCEL, o algún libro o algo, todo esto para Builder claro.
Gracias de antemano. |
|
| Volver arriba |
|
 |
alfredo Master

Registrado: 13 Oct 2003Mensajes: 246Ubicación: Valencia Venezuela
|
Publicado: Vie 23 Nov, 2007 4:53 pm Asunto: |
|
|
Hola, no conozco ningun sitio especifico donde dirigirte pero te recomiendo busques el tema por Visual Basic ya que este es el lenguaje que utiliza excel para sus macros. esto te dara una idea y despues te tocara portar para C++ el codigo.
Si tienes exito comparte con el foro tus logros ya que la informacion para los servidores de MS esta bastante diseminada e incompleta.
Seria bueno que alguno de nosotros o varios nos dieramos a la tarea de recopilar y organizar estas informaciones para compartirla con la comunidad de programadores. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Sab 24 Nov, 2007 10:08 pm Asunto: |
|
|
| kralito escribió: | | Estoy haciendo una aplicación y tengo que insertar en una hoja de excel un comboBox con unos datos. |
Un pequeño ejemplo que añade un ComboBox y lo rellena...
| Código: | // Añadimos: #include<ComObj.hpp>
// Para el ejemplo utilizamos una instancia abierta de excel
Variant excel = GetActiveOleObject("Excel.Application");
// Obtenemos la hoja activa
Variant hoja = excel.OlePropertyGet("ActiveSheet");
Variant shapes = hoja.OlePropertyGet("Shapes");
// Esta parte solo es necesaria si queremos averiguar las
// coordenadas de las celdas para ajustar a ellas el control
Variant rango = hoja.OlePropertyGet("Range", "B3:C3");
int x = rango.OlePropertyGet("Left");
int y = rango.OlePropertyGet("Top");
int ancho = rango.OlePropertyGet("Width");
int alto = rango.OlePropertyGet("Height");
// Añadimos el combo
const int xlDropDown = 2;
Variant control = shapes.OleFunction("AddFormControl",
xlDropDown, x, y, ancho, alto);
// Rellenamos las opciones del combo
Variant controlFormat = control.OlePropertyGet("ControlFormat");
controlFormat.OleProcedure("AddItem", "uno");
controlFormat.OleProcedure("AddItem", "dos");
controlFormat.OleProcedure("AddItem", "tres"); |
| kralito escribió: | | También me gustaría saber si alguien conoce algúna página con información completa sobre las APIs de EXCEL |
Lo siento, en esto no te puedo ayudar ya que no conozco ninguno. Yo lo que uso normalmente es la propia referencia que viene con el Office. |
|
| Volver arriba |
|
 |
kralito Cdt


Registrado: 19 Nov 2005Mensajes: 10Ubicación: Talavera de la Reina (Toledo)
|
Publicado: Lun 26 Nov, 2007 12:20 pm Asunto: |
|
|
Gracias por vuestra ayuda.
Leo, donde puedo ver la referencia que viene con el office?
Gracias. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
|
| Volver arriba |
|
 |
kralito Cdt


Registrado: 19 Nov 2005Mensajes: 10Ubicación: Talavera de la Reina (Toledo)
|
Publicado: Jue 29 Nov, 2007 8:26 pm Asunto: office |
|
|
Pues uso el office 2003.
Un saludo y muchas gracias. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Jue 29 Nov, 2007 10:15 pm Asunto: |
|
|
En el 2003 vienen prácticamente todos los mismos de la versión XP, apenas han actualizado algunos. Como se muestra en los enlaces que te he puesto, si lo instalas en su ubicación por defecto los encontrarías en:
[Excel]
C:\Archivos de programa\Microsoft Office\OFFICE11\3082\VBAXL10.CHM
[Word]
C:\Archivos de programa\Microsoft Office\OFFICE11\3082\VBAWD10.CHM
En general busca en su directorio los que comiencen por VBA*.chm
También se pueden consultar desde dentro de alguno de sus programas, pero es más incomodo y en cada versión han ido cambiando el titulo por lo que se hace mas difícil encontrarlo. |
|
| Volver arriba |
|
 |
|