[RESUELTO]Copiar valores de un rango en Calc sin formato

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
senda678
Mensajes: 21
Registrado: Mié Jul 15, 2020 3:57 pm

[RESUELTO]Copiar valores de un rango en Calc sin formato

Mensaje por senda678 »

Hola buenos días, con esta macro que teneis ([RESUELTO]Copiar los valores de un rango de celdas en Calc) hay alguna manera de que lo copie sin formato??

Yo necesito extraer de una columna donde se van grabando las fechas a otra la fecha pero sin formato fecha.

En c4 se van añadiendo según hay modificaciones en las otras hojas, y necesito que me devuelva la información de la fecha a la siguiente pero sin el formato fecha.

Gracias un saludo
Adjuntos
VERSION TOTAL DEFINITIVA.ods
(40.67 KiB) Descargado 254 veces
Última edición por senda678 el Mar Ago 25, 2020 12:09 pm, editado 3 veces en total.
Libreoffice Versi??n: 6.4.4.2 (x64)
windows 10
Avatar de Usuario
PepeOooSevilla
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: Copiar valores de un rango en Calc sin formato

Mensaje por PepeOooSevilla »

Hola.
Modificando el formato del rango de destino a Número > Estándar creo que obtienes lo que necesitas (ver archivo adjunto).
En tu hoja Copia_datos modifica la columna C o E, según necesites, al formato comentado en el párrafo anterior.
Saludos cordiales.
Adjuntos
FORO_CALC_Copiar_rangos_sin_formato.ods
LibO Calc 6.4.6
(65.85 KiB) Descargado 245 veces
LibreOffice 6.4.6. Windows 10. Java 8 rev. 261 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
senda678
Mensajes: 21
Registrado: Mié Jul 15, 2020 3:57 pm

Re: Copiar valores de un rango en Calc sin formato

Mensaje por senda678 »

Muchas gracias, con ese metodo no me valía, pero ya he modificado la macro de copiar contenido.

Adjunto solución, copia datos sin el formato fecha

Código: Seleccionar todo

Sub GuardarCambiosCeldas()
' Suceso: Contenido cambiado
	Dim DocCalc As Object
	Dim HojaAuxiliar As Object
	Dim Seleccion As Object
	Dim ContenidoActual As String
	Dim DireccionAbsoluta As String
	Dim FilaLibre As Long
	
	DocCalc = ThisComponent
	Seleccion = DocCalc.getCurrentSelection()
	If Seleccion.getImplementationName() = "ScCellObj" Then
		DireccionAbsoluta = Seleccion.AbsoluteName
		ContenidoActual = Seleccion.getString()
		HojaAuxiliar = DocCalc.getSheets.getByName("Copia_Datos")
		
		dim sText as string
    	'sText = Format( Now, "DD\/MM\/YYYY")
    	sText = Format( Now, "MM/DD/YYYY HH:MM:SS")
    
		With HojaAuxiliar
			FilaLibre = .getCellRangeByName("B1").getValue()
			'Comenzamos en la Columna A, Fila 4 de la hoja Copia_Datos
			.getCellByPosition(0, 3 + FilaLibre).setString(DireccionAbsoluta)
			.getCellByPosition(1, 3 + FilaLibre).setString(ContenidoActual)
			.getCellByPosition(2, 3 + FilaLibre).setValue(Now())
			.getCellByPosition(3, 3 + FilaLibre).setString(sText)
		End With
	End If
End Sub
Un saludo.
Última edición por PepeOooSevilla el Mar Ago 25, 2020 12:44 pm, editado 1 vez en total.
Razón: Etiquetas [code]
Libreoffice Versi??n: 6.4.4.2 (x64)
windows 10
Responder