[RESUELTO] Ejemplo importEntireSpreadSheet

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
showerdays
Mensajes: 42
Registrado: Mié Jul 07, 2010 10:38 am

[RESUELTO] Ejemplo importEntireSpreadSheet

Mensaje por showerdays »

Me gustaría ver el código de funcionamiento de una marco que utilize el importEntireSpreadSheet para importar a una tabla de base la tabla de un .xls

pero los que he visto tienen las variables sin valores, me gustaría un ejemplo que copiándolo directamente funcione,

aunque no sean mis valores.
Última edición por showerdays el Vie Jul 09, 2010 9:53 am, editado 1 vez en total.
open office 3.2
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Ejemplo importEntireSpreadSheet

Mensaje por mauricio »

Hola...

Función que mencionas es una función personalizada, es decir, la creo su autor, no es parte del API de OOo, importa hojas a una base de datos y por lo que veo tu necesitas importas a Calc, de todos modos ver si puedes adaptarla: http://user.services.openoffice.org/es/ ... =845#p2516

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
showerdays
Mensajes: 42
Registrado: Mié Jul 07, 2010 10:38 am

Re: Ejemplo importEntireSpreadSheet

Mensaje por showerdays »

Gracia por mirarlo,

yo no necesito importarlas a calc las necesito para importarlas a oobase, y tener todas las tablas cargadas en oobas, esta es la macro que he utilizado pero no se si la he utilizado bien. No se cuando declarar las variables o meter las direcciones directamente

Function importEntireSpreadSheet("K:\", "datos", ".xls", "oobasehorno")

REM IMPORT ENTIRE SPREADSHEET TO DATABASE
REM FIRST CREATE NEW TABLE AND THEN IMPORT DATA
Dim SSTables As Object REM Spreadsheet Tables
Dim Tablename As String
Dim Result As Object
Dim I As Integer
Dim J As Integer

SSTables=getSpreadsheetTables("K:\","datos",".xls") REM get the tables

For I=0 To SSTables.Count-1
TableName=SSTables.ElementNames(I)
Result=getResultSetFromSpreadsheet("K:\","datos",".xls"),I)
createTableFromResultSet( Result,DataSourceName,TableName)
importResultSetToTable(Result,DataSourceName,TableName)
Next I
Result.Close()

End Function

REM EJEMPLO DE USO:
REM el archivo para importar esta en "C:\"
REM el nombre del archivo es "datos"
REM la extension (de Excel) es "xls"
REM el monbre de rejistro de la base de datos (Base) es "MiBaseDeDatos"
REM importEntireSpreadSheet("C:\","datos","xsl","MiBaseDeDatos")
open office 3.2
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Ejemplo importEntireSpreadSheet

Mensaje por mauricio »

Hola...

Como comenta el autor, te falta copiar otras funciones que usa esta:

SSTables.ElementNames(I)
getResultSetFromSpreadsheet(strPath,strFileName,strExt,I)
createTableFromResultSet( Result,DataSourceName,TableName)
importResultSetToTable(Result,DataSourceName,TableName)

Toda la información esta en su página...

http://www.baseprogramming.com/resources.html

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
showerdays
Mensajes: 42
Registrado: Mié Jul 07, 2010 10:38 am

Re: Ejemplo importEntireSpreadSheet

Mensaje por showerdays »

Muchas gracias pero, copiarla donde? esque no le entiendo si son funciones que utiliza esta función y tengo que copiarlas fuera o tengo que copiarlas tal y como se ven las filas dentro de la función.
open office 3.2
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Ejemplo importEntireSpreadSheet

Mensaje por mauricio »

Hola...

Tienes que tenerlas todas las funciones en el mismo modulo, y si, son funciones (también personalizadas) que usa la función. En mi libro puedes aclarar muchas de tus dudas de como usar funciones personalizadas: http://www.universolibre.org/node/7

Por favor, si esto responde tu pregunta, edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], de esta forma conseguiremos un foro más ordenado.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
showerdays
Mensajes: 42
Registrado: Mié Jul 07, 2010 10:38 am

Re: Ejemplo importEntireSpreadSheet

Mensaje por showerdays »

Creo que te he entendido, la funcion busca funciones que utiliza en todo el modulo asike las tengo que copiar fuera del sub(que es lo que no me dejaba hacer)

pero en la misma hoja de macros.

gracias, pondre resuelto pero si lo que he dicho está mal corrigeme por favor.
open office 3.2
Responder