Insertar cuadro de texto en Calc desde Basic

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
valenteres
Mensajes: 81
Registrado: Mié Jun 17, 2015 6:04 pm

Insertar cuadro de texto en Calc desde Basic

Mensaje por valenteres »

Buenas tardes:

La pregunta es si, desde Basic, puedo insertar en Calc un cuadro de texto con el contenido de una variable string

En el desarrollo de un programa en Basic, recojo la información sobre incidencias en una variable tipo String.
La primera opción es presentarla mediante MsgBox.
Sin embargo, la posibilidad de estudiar detenidamente esta información es limitada.

Me interesa guardar esta información de forma permanente. Una posibilidad es volcar el contenido de esta variable en un cuadro de texto incrustado en la hoja de cálculo.
¿Podrían decirme como puedo insertar un cuadro de texto desde Basic e insertar en él el contenido de una variable string?

Muchas gracias y un saludo
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"

Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
xiseme
Mensajes: 1918
Registrado: Lun Nov 24, 2008 1:13 pm

Re: Insertar cuadro de texto en Calc desde Basic

Mensaje por xiseme »

Si mal no creo, un cuadro de texto es un «shape» y el texto, como el color, transparencia etc. es una de sus características.
https://wiki.openoffice.org/wiki/ES/Man ... autoformas

No sé si te sería útil presentar la información como nota-comentario de celda. En estos hilo se habló de ello
https://forum.openoffice.org/es/forum/v ... 58&p=38176
https://forum.openoffice.org/es/forum/v ... ios#p35219
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.
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Insertar cuadro de texto en Calc desde Basic

Mensaje por mauricio »

Si, es posible, el compañero ya te paso el vinculo correcto donde se trata este tema... pero... es una mala idea, guardar informacion de un proceso en un cuadro de texto...
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
valenteres
Mensajes: 81
Registrado: Mié Jun 17, 2015 6:04 pm

Re: Insertar cuadro de texto en Calc desde Basic

Mensaje por valenteres »

Muchas gracias por la información. Esta tarde intentaré aplicarla.

Respecto a la conveniencia de guardar información en un cuadro de texto que apunta Mauricio, estoy de acuerdo en que, en términos generales, no es lo más adecuado.
En este caso, se trata de obtener información sobre el "comportamiento del programa", en concreto sobre si ha habido algún problema en la modificación de determinados parámetros´, y si ha habido algún problema, poder conocer las causas.
Es un información de interés puntual. Durante la ejecución del programa la presento con MsgBox, y normalmente con esto es suficiente. Sin embargo, en ocasiones, puede interesarme mantenerla una vez que acabe la ejecución del programa. Es por eso que me interesaba tener una posibilidad de guardarla.

Saludos de nuevo Mauricio. Sigo trabajando el tema de gráficos. Como dijo alguien por ahí, sin prisa (cuando tengo tiempo), pero sin pausa. Está prácticamente finalizado. Lo he desarrollado en función de lo que necesito, con mis conocimientos, que no son muchos, y con las herramientas que me habéis proporcionado en este foro, que no son pocas. Por supuesto que no tengo ningún problema, faltaría más, en ponerlo a disposición de aquellos a quienes les resulte de utilidad.

Muchas gracias de nuevo. Os informaré del resultado.

Un saludo
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"

Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Insertar cuadro de texto en Calc desde Basic

Mensaje por mauricio »

Usa EasyDev para guardar un LOG en un archivo todo lo que quieras: http://easydev.readthedocs.org/en/lates ... fo-in-file

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
valenteres
Mensajes: 81
Registrado: Mié Jun 17, 2015 6:04 pm

Re: Insertar cuadro de texto en Calc desde Basic

Mensaje por valenteres »

Buenas noches:

Ya he insertado un cuadro de texto. He modificado el tamaño, grosor y fuente del texto. Ya solo me falta ajustar el tamaño del cuadro al ancho y largo del texto.
En una guía he visto lo siguiente:
- TextAutoGrowHeight (Boolean) – adapta el alto del elemento de dibujo al texto que contenga.
- TextAutoGrowWidth (Boolean) – adapta el ancho del elemento de dibujo al texto que contenga.
He incluido estas instrucciones en el código pero obtengo el resultado esperado. No se observa ningún cambio
El código empleado es:

Código: Seleccionar todo

Sub AutoFormasEspeciales1()
 Dim oPaginaDibujo As Object
 Dim oForma As Object
 
     oPaginaDibujo = ThisComponent.getCurrentController.getActiveSheet.getDrawPage()
     'Creamos un marco de texto
     oForma = ThisComponent.createInstance("com.sun.star.drawing.RectangleShape")
     Call CambiaTam( oForma, 10000, 5000 )
     oPaginaDibujo.add( oForma )
     oForma.setString("Marco con texto" & Chr(13) & "Otra línea")
     oForma.FillStyle = com.sun.star.drawing.FillStyle.SOLID
     oForma.FillColor = RGB( Rnd()*255,Rnd()*255,Rnd()*255 )
     'Establecemos el radio de las esquinas
     oForma.CornerRadius = 1000



	oForma.CharFontName = "Courier New"
	oForma.CharHeight = 48
	oForma.CharWeight = 200
	oForma.TextContourFrame = True
     oForma.TextAutoGrowHeight = True
     oForma.TextAutoGrowWidth = True

     'Establecemos que el texto se adapte al tamaño de la forma
 '    oForma.TextFitToSize = 1
 End Sub
Es posible que haya alguna variable Booblean que haya que haya que activar o desactiva, pero no son capaz de encontrarlo

Es tamaño del texto a incluir en el cuadro de texto, puede variar en un amplio rango. Es por ello que interesa mantener un determinado tamaño de los caracteres de texto y que el tamaño del cuadro varía en función del texto incluido.

Muchas gracias y un saludo
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"

Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Insertar cuadro de texto en Calc desde Basic

Mensaje por fornelasa »

Pudiera ser que este tema nos sirva
https://forum.openoffice.org/es/forum/v ... ico#p45779
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!
Responder