[RESUELTO]"select.entireRow" en calc

Discute sobre la aplicación de hojas de cálculo
Responder
cavise
Mensajes: 3
Registrado: Vie Mar 12, 2010 7:43 pm

[RESUELTO]"select.entireRow" en calc

Mensaje por cavise »

Buenas nuevamente... necesitaría el código para que a partir de una celda seleccionada, se selecione toda la fila.
Es decir... antes de ejecutar la macro habrá una celda seleccionada y lo primero que debe hacer la macro es seleccionar toda la fila de esa celda seleccionada y cortarla.
Gracias de nuevo.


A veces no me gusta preguntar porque alguien hará algo gratis por mí.
Pero a veces pienso que eso hace el mundo un poco mejor.
Última edición por cavise el Mar Mar 16, 2010 6:00 pm, editado 1 vez en total.
OpenOffice 3.2 en Ubuntu KarmiK
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: "select.entireRow" en calc

Mensaje por mauricio »

Hola...

Seleccionar la fila entera es trivial...

Código: Seleccionar todo

Option Explicit

Sub FilaEntera()
Dim oSel As Object
Dim oFila As Object

	'Obtenemos la seleccion actual
	oSel = ThisComponent.getCurrentSelection()
	'Verificamos que sea solo una celda
	If oSel.getImplementationName = "ScCellObj" Then
	
		'Referencia a la fila entera
		oFila = oSel.getRows.getByIndex(0)
		'Seleccionamos la fila entera
		ThisComponent.getCurrentController.select( oFila )
		
	End If

End Sub
No necesitas seleccionar la fila para cortarla (moverla) con la referencia directa puedes hacerlo

Código: Seleccionar todo

		oFila = oSel.getRows.getByIndex(0)
También puedes usar un cursor para expandir la selección a una fila completa:

Código: Seleccionar todo

Sub Cursores8()
Dim oSel As Object
Dim oCursor As Object

	'La selección actual
	oSel = ThisComponent.getCurrentSelection()
	'Verificamos que sea solo una celda
    If oSel.getImplementationName() = "ScCellObj" Then
        'Creamos un cursor a partir de la seleccion
    	oCursor = oSel.getSpreadSheet.createCursorByRange( oSel )
        'Lo expandimos a toda la fila
        oCursor.expandToEntireRows()
        'Comprobamos que es la fila completa
        MsgBox oCursor.AbsoluteName                               
	Else
    	MsgBox "Selecciona solo una celda"
	End If
	
End Sub
Todos estos conceptos y muchos ejemplos los puedes encontrar en mi libro: http://user.services.openoffice.org/es/ ... =50&t=1545

Si esto responde tu pregunta, por favor 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
Responder