Hola a todos, tengo una duda hay alguna forma para cuando se coloque mucho texto en una celda y pase el ratón por encima me muestre el texto completo algo parecido a los comentarios pero en la propia celda, es que no quiero que la celda se cambien de tamaño para tener mas espacio en las
columnas.
Gracias de antemano
Última edición por mauricio el Jue Jul 25, 2013 5:42 pm, editado 1 vez en total.
Razón:Marcar RESUELTO correctamente
¿No te vale con situarte en la celda colapsada y presionar F2? -como si fueras a editarla-
Todo es mejorable, estamos dispuestos a mejorar. ¿Yo? ... poco a poco. Nunca hay acritud en mis comentarios, si lo pareciera, seguro que me he expresado mal.
El texto en el Mgbox tiene la ventaja de que hay menos riesgo de modificar el contenido y el inconveniente que hay que cerrarlo (Esc o Aceptar) antes de poder pasar a otra celda.
¿En su lugar la macro podría añadir un comentario a la celda (1) para con otra macro eliminar los comentarios añadidos por este motivo(2)?
(1) algo como ">>> "&contenido de la celda (seguramente habrá que definir las dimensiones del comentario)
(2)borrar todos (o uno a uno) los comentarios que empiecen por ">>> "
P.D.: En mi sistema la combinación Alt+V está reservada al menú «Ver» Daba por hecho que era así en todos, ya veo que no.
Todo es mejorable, estamos dispuestos a mejorar. ¿Yo? ... poco a poco. Nunca hay acritud en mis comentarios, si lo pareciera, seguro que me he expresado mal.
Hola xiseme, solo como comentario, en mi Calc tambien Alt V esta reservado para el menú Ver si ambas teclas se pulsan por separado, si se pulsan simultaneamente la macro debe correr sin ningún problema (es decir, pulsar Alt y sin soltarla entonces pulsar V).
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!
Hola...
Otra Opción.
Pulsar rapidamente la tecla Alt y sin soltarla pulsar X
Lo anterior hace que el texto de la celda pase a ser comentario tambien, a partir de ahi solo se pasa el mouse por la celda y se ve el texto completo.
Sub ContidoANotaDaCelda
' Asignar a una combinación de teclas para que inserte contenido de la celda como un comentario. Éste se mostrará al pasarle el ratón por encima.
' Se usan los dos puntos : al inicio de la linea como indicador de que lo que sigue es el contenido de ls celda
' Si ya tiene un comentario distinto del contenido de la celda, lo añade después de insertar un salto de línea extra
' Idea original: FORNELASA - forum.openoffice.org
Dim Hoja
Dim Celda
Dim DirCelda
Dim Notas
Dim TamNota
Dim NotaPrev
Dim PosMarca As Integer
Dim MarcaSep
MarcaSep = Chr(10)&Chr(10)&":" '<<<< marca de separación entre coment. original y añadido
Celda = ThisComponent.GetCurrentSelection
'si no es una única celda o no tiene nada → salir, no hay nada que hacer
If Celda.ImplementationName <> "ScCellObj" Or Celda.String="" Then
Exit Sub
Else
NotaPrev = Celda.GetAnnotation.GetString 'nota previa
PosMarca = InStr(NotaPrev, MarcaSep)
If Left(NotaPrev, 1)=":" Or NotaPrev ="" Then
NotaPrev = ":"
GoTo ANOTA 'Comienza por : luego es el contenido previo de la celda
ElseIf PosMarca > 0 Then 'preserva todo lo que haya antes de la marca salto_lin+:
NotaPrev = Left(NotaPrev, PosMarca-1) & MarcaSep
Else 'si no hay marca preservar todo y añadirsela
NotaPrev = NotaPrev & MarcaSep
End If
ANOTA:
Celda.ClearContents(8) 'borra la nota previa si la hubiera o hubiese
Hoja =ThisComponent.CurrentController.ActiveSheet 'la hoja activa
Notas = Hoja.getAnnotations() 'las notas de la hoja activa (todas)
Celda = ThisComponent.GetCurrentSelection 'la celda seleccionada
DirCelda = Celda.CellAddress 'la dirección de la celda seleccionada
Notas.InsertNew(DirCelda, NotaPrev & Celda.String) 'nueva nota en la dir.celda con el texto de ella
Celda.Annotation.IsVisible = False 'nota no visible permanentemente
'
With ThisComponent.GetCurrentSelection.GetAnnotation.getAnnotationShape()
.setPropertyValue("CharScaleWidth", 75) 'Se supone mucho texto => tam.letra nota al 75% o el que se ponga
TamNota = .getSize 'tamaño de la nota
TamNota.Width = TamNota.Width * 3 '<<<< triplicamos anchura nota
.setSize(TamNota) 'aplicamos cambio tamaño
.FillColor = RGB(247,247,247) '<<<< color de fondo al gusto para diferenciar
'.CharColor = RGB(25,25,225) '<<<< color del texto si se desea
End With
End If
End Sub
Todo es mejorable, estamos dispuestos a mejorar. ¿Yo? ... poco a poco. Nunca hay acritud en mis comentarios, si lo pareciera, seguro que me he expresado mal.