Hola,
Somos una asociación de grupos scout a nivel provincial (hay diferentes grupos
scout y una oficina que coordina).
Desde la oficina tenemos compartido con cada grupo scout un documento en el
que meten datos de las facturas que pagan (por columnas fecha, cif del
proveedor, concepto, etc).
Los documentos tienen las mismas columnas y los grupos la van rellenando.
Nosotros podemos acceder a todos los documentos pero ellos solo al de su
grupo.
La idea es poder generar un documento nuevo en el que cuando, lo abrimos o
queramos, se vuelque en él el contenido de los diferentes documentos de modo que
podamos listar todas las facturas y aplicar filtros por fecha o por proveedor, etc.
Podríais ayudarme?
Me he estado informando de las macros y tal en el foro. Nunca he usado una
ni se usar el lenguaje de las macro. He leído algún hilo del foro en el que
se hablan cosas similares a lo que yo quiero
(http://ooo-forums.apache.org/es/forum/v ... 21&t=11598) pero
cuando ejecuto la macro, se abre un documento nuevo en blanco y no vuelca
los datos.
Muchas gracias!!
[RESUELTO] unificación de documentos
[RESUELTO] unificación de documentos
Última edición por mauricio el Sab Feb 11, 2017 7:52 pm, editado 2 veces en total.
Razón: Marcar resuelto correctamente
Razón: Marcar resuelto correctamente
OpenOffice 4.1.3 en Windows 10
Re: unificación de documentos
Para intentar resolver este tema y facilitarlo :
1) Todos los archivos deben estar en la misma carpeta, ¿es así?.
2) ¿Deseas copiar solo la primer hoja de cada archivo o todas las hojas o como?
3) ¿Más o menos que rango ocupan tus datos, se puede saber?
Saludos, Federico.
1) Todos los archivos deben estar en la misma carpeta, ¿es así?.
2) ¿Deseas copiar solo la primer hoja de cada archivo o todas las hojas o como?
3) ¿Más o menos que rango ocupan tus datos, se puede saber?
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: unificación de documentos
Hola! Gracias por atenderme!
1) Si, los archivos están en una misma carpeta.
2) Tras meditarlo, solo la primera hoja. La idea es que este 2017 los grupos rellenen la hoja1 y al acabar el año esta hoja se renombre a "2017" y se pase a la derecha, creando una nueva "hoja1" que estará la primera y se rellenará con el año 2018.
3) El rango dependerá de la actividad económica de cada grupo. Unos tendrán más facturas y otro menos. Un rango bastante amplio puede ser: A2:I100 De todos modos, me gustaría poder modificar este rango si es fácil en el código de la macro (así como tendré que modificar la ruta de la carpeta).
Muchas gracias Federico!
1) Si, los archivos están en una misma carpeta.
2) Tras meditarlo, solo la primera hoja. La idea es que este 2017 los grupos rellenen la hoja1 y al acabar el año esta hoja se renombre a "2017" y se pase a la derecha, creando una nueva "hoja1" que estará la primera y se rellenará con el año 2018.
3) El rango dependerá de la actividad económica de cada grupo. Unos tendrán más facturas y otro menos. Un rango bastante amplio puede ser: A2:I100 De todos modos, me gustaría poder modificar este rango si es fácil en el código de la macro (así como tendré que modificar la ruta de la carpeta).
Muchas gracias Federico!
OpenOffice 4.1.3 en Windows 10
Re: unificación de documentos
En base a lo que dices aquí un primer intento:
Prueba esta macro que almacenaremos pulsando Alt-F11 <> MisMacros <> Standar <> Module1 <> Editar
Prueba la macro estando en un libro en blanco
Solo hay que cambiar la ruta del directorio y también debe haber archivos de Calc con extension .ods en la carpeta indicada
Prueba esta macro que almacenaremos pulsando Alt-F11 <> MisMacros <> Standar <> Module1 <> Editar
Prueba la macro estando en un libro en blanco
Código: Seleccionar todo
Sub PasarDatos
Dim args1(1) as new com.sun.star.beans.PropertyValue
Dim NoArgs()
Idocument = ThisComponent.CurrentController.Frame
Idispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
args1(0).Name = "By"
args1(0).Value = 1
args1(1).Name = "Sel"
args1(1).Value = false
aInicio = thiscomponent.currentcontroller
cInicio = aInicio.activesheet.getcellrangebyname("A2")
finicio = aInicio.Frame
aInicio.select(cInicio)
url = "C:\TuCarpeta\TuCarpeta\Carpeta"
oDoc = ThisComponent
oSheet = oDoc.Sheets(0)
url = ConvertToURL(url)
oCell = oSheet.getCellRangeByName("A1")
url = url & "/"
elNombre = Dir$(url & "*.ods")
Do While elNombre <> ""
If elNombre <> "." And elNombre <> ".." then
StarDesktop.loadComponentFromURL(url & elNombre, "_blank", 0, NoArgs())
anuevo = thiscomponent.currentcontroller
hoja = anuevo.activesheet
anuevo.select(hoja.getcellrangebyname("A2:I400"))
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
thiscomponent.close(false)
args1(0).Name = "Flags"
args1(0).Value = "SVD"
args1(1).Name = "MoveMode"
args1(1).Value = 4
dispatcher.executeDispatch(finicio, ".uno:InsertContents", "", 0, args1())
End If
Idispatcher.executeDispatch(Idocument, ".uno:GoDownToEndOfData", "", 0, args1())
Idispatcher.executeDispatch(Idocument, ".uno:GoDown", "", 0, args1())
elNombre = Dir$
Loop
MsgBox "Proceso Finalizado"
End
End Sub
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: unificación de documentos
Federico eres el amo!! Funciona genial!!
Incluso añadí una columna más que necesitaba y me reconoce el rango.
Lo único es que para actualizar datos y no me duplique entradas, el documento global debe estar en otra carpeta (lógicamente).
Muchísimas gracias!!!!
Si algún día vienes por Valencia tienes casa y guía turístico.
De verdad muchas gracias por dedicarme tu tiempo y conocimientos.
Un saludo!!!
Incluso añadí una columna más que necesitaba y me reconoce el rango.
Lo único es que para actualizar datos y no me duplique entradas, el documento global debe estar en otra carpeta (lógicamente).
Muchísimas gracias!!!!
Si algún día vienes por Valencia tienes casa y guía turístico.
De verdad muchas gracias por dedicarme tu tiempo y conocimientos.
Un saludo!!!
OpenOffice 4.1.3 en Windows 10
Re: [RESUELTO] unificación de documentos
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!