Inicio de sesión

Quién está conectado

Actualmente hay 0 usuarios y 4 invitados en línea.

Sindicar

Distribuir contenido

Cursos online gratuitos de LibreOffice en OficinaLibre.net

Ya están publicados nuestros cursos online gratuitos de LibreOffice en https://oficinalibre.net. Un total de cuatro cursos, de Writer y de Calc, con dos niveles cada uno de ellos: inicial y avanzado.

Los cursos están orientados a desarrollar el aprendizaje de forma totalmente autónoma y a tu ritmo. Son totalmente abiertos y ni siquiera es preciso registro de usuario, pudiendo entrar como invitado.

Si deseas seguir informado sobre las novedades del proyecto rellena tu nombre y dirección de correo electrónico y pulsa el botón que se muestra a continuación



Como siempre, tienes nuestra garantía de que tus datos no servirán para nada más que facilitarte estos recursos. Para mayor información puedes leer nuestro rollo legal.

Metodo equivalente al metodo End

Hola...

En VBA de Excel, hay un metodo bastante eficiente del objeto Range que se llama End, su funcion es llevar el cursor a la celda que este, a partir de la celda activa, en direccion: arriba, abajo, derecha o izquierda y seleccionarla, todo, dentro de la region actual que como saben es la que esta delimitada por una fila o columna en blanco, vi un ejemplo de sustitucion en SB pero era algo largo, el siguiente ejemplo hace lo mismo con menos lineas, espero le sirva a alguien...

'*************************************************************************************************
' MACRO PARA MOVERSE A LOS EXTREMOS DE LA CELDA ACTIVA
'
' Copyright (C) 2005 Mauricio Baeza Servin
' Este programa es software libre. Puede redistribuirlo y/o modificarlo bajo los términos de la
' Licencia Pública General de GNU según es publicada por la Free Software Foundation, bien de la
' versión 2 de dicha Licencia o bien (según su elección) de cualquier versión posterior.
'
' Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA, incluso
' sin la garantía MERCANTIL implícita o sin garantizar la CONVENIENCIA PARA UN PROPÓSITO PARTICULAR.
' Véase la Licencia Pública General de GNU para más detalles.
'
' Debería haber recibido una copia de la Licencia Pública General junto con este programa. Si no ha
' sido así, escriba a la Free Software Foundation, Inc., en 675 Mass Ave, Cambridge, MA 02139, EEUU.
'
' Mauricio Baeza - mau74bs@yahoo.com.mx
'
'*************************************************************************************************
Option Explicit

'Solo para pruebas
Public Sub Pruebas()
Call MueveteA("izquierda", False)
End Sub

'Direccion = direccion a la que nos queremos mover, pasado como texto
' arriba
' abajo
' derecha
' izquierda
'Aunque yo preferiria solo pasar un argumento entero 1,2,3 o 4
'El argumento Seleccion es interesante
'False = Solo mueve el cursor en la direccion indicada
'True = Mueve y selecciona a partir de la celda activa y hasta la direccion especificada

Public Sub MueveteA(ByVal Direccion As String, ByVal Seleccion As Boolean)
Dim Document As Object
Dim dispatcher As Object
Dim Datos(1) As New com.sun.star.beans.PropertyValue
Dim sDireccion As String

Set Document = ThisComponent.CurrentController.Frame
Set dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

Datos(0).Name = "By"
Datos(0).Value = 1
Datos(1).Name = "Sel"
Datos(1).Value = Seleccion

Select Case Direccion
Case "arriba" : sDireccion = ".uno:GoUpToStartOfData"
Case "derecha" : sDireccion = ".uno:GoRightToEndOfData"
Case "abajo" : sDireccion = ".uno:GoDownToEndOfData"
Case "izquierda": sDireccion = ".uno:GoLeftToStartOfData"
End Select
dispatcher.executeDispatch(document, sDireccion, "", 0, Datos())

End Sub

Saludos

Mauricio

Sin suscripción


Documentación LibreOffice en español

Comentarios recientes

Encuesta

¿Sobre qué programas esperas encontrar tutoriales y ejercicios en SuperAlumnos.net? :