[RESUELTO] Macro no copia contenido tipo fecha

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

[RESUELTO] Macro no copia contenido tipo fecha

Notapor aacurso » Jue Feb 21, 2019 3:02 pm

Hola.

Estoy intentando copiar todas las hojas de un fichero Calc dentro de una misma hoja usando la Macro que publicó Federico, por aquí fornelasa en este mismo foro https://forum.openoffice.org/es/forum/viewtopic.php?f=21&t=6232#p23134.

Código: Seleccionar todo   Expandir vistaContraer vista
Sub UnirHojas()
dim document as object
dim dispatcher as object
dim args1(5) as new com.sun.star.beans.PropertyValue
dim args3(0) as new com.sun.star.beans.PropertyValue
'----------------------------------------------------------------------------------------------------------------------------
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
args3(0).Name = "Sel"
args3(0).Value = true
'----------------------------------------------------------------------------------------------------------------------------
ThisComponent.Sheets.InsertNewByName("UnionDeDatos",0)
ThisComponent.CurrentController.Select(ThisComponent.Sheets(0).GetCellRangeByName("A1"))
'-----------------------------------------------------------------------------------------------------------------------------
for a = 1 to ThisComponent.Sheets.GetCount()-1
ThisComponent.CurrentController.Select(ThisComponent.Sheets(a).GetCellRangeByName("A1"))
dispatcher.executeDispatch(document, ".uno:GoToEndOfData", "", 0, args3())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
args1(0).Name = "Nr"
args1(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
args1(0).Name = "Flags"
args1(0).Value = "SV"
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:GoToEndOfData", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:GoLeftToStartOfData", "", 0, args1())
next
'----------------------------------------------------------------------------------------------------------------------------------------
ThisComponent.CurrentController.Select(ThisComponent.Sheets(0).GetCellRangeByName("A1"))
dispatcher.executeDispatch(document, ".uno:GoToEndOfData", "", 0, args3())
args1(0).Name = "aExtraWidth"
args1(0).Value = 100
dispatcher.executeDispatch(document, ".uno:SetOptimalColumnWidth", "", 0, args1())
End Sub


El problema es que el contenido de las celdas de tipo fecha no las copia (quedan en blanco en la copia).

Si cambio el tipo de celda que contiene una fecha para que sea tipo número, sí se copia en formato número (número que identifica a la fecha), pero si quiero tener en la hoja copia el formato fecha, debería ir una a una por cada celda para cambiar su tipo a fecha (las fechas aparecen siempre en la misma columna, pero en filas aleatorias y en esta misma columna aparecen también otro tipo de datos (texto, números) por lo que no compensa.

¿Alguna sugerencia para resolver el problema?
Gracias.
Última edición por aacurso el Jue Feb 21, 2019 8:56 pm, editado 1 vez en total
LibreOffice 6.0 en Ubuntu 18.04.2 LTS
aacurso
 
Mensajes: 2
Registrado: Jue Feb 21, 2019 2:46 pm

Re: Macro no copia contenido tipo fecha

Notapor fornelasa » Jue Feb 21, 2019 7:12 pm

Intenta con:
Código: Seleccionar todo   Expandir vistaContraer vista
args1(0).Value = "SVDFT"
cambiando la linea correspondiente-
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!
Avatar de Usuario
fornelasa
 
Mensajes: 3216
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro no copia contenido tipo fecha

Notapor aacurso » Jue Feb 21, 2019 8:55 pm

Gracias Federico.
Tu solución ha funcionado a la perfección.
Saludos.
LibreOffice 6.0 en Ubuntu 18.04.2 LTS
aacurso
 
Mensajes: 2
Registrado: Jue Feb 21, 2019 2:46 pm


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados