<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.open-office.es/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://wiki.open-office.es/index.php?action=history&amp;feed=atom&amp;title=Cuadro_de_dialogo_para_OpenOffice_Calc</id>
		<title>Cuadro de dialogo para OpenOffice Calc - Historial de revisiones</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.open-office.es/index.php?action=history&amp;feed=atom&amp;title=Cuadro_de_dialogo_para_OpenOffice_Calc"/>
		<link rel="alternate" type="text/html" href="https://wiki.open-office.es/index.php?title=Cuadro_de_dialogo_para_OpenOffice_Calc&amp;action=history"/>
		<updated>2026-06-04T03:17:06Z</updated>
		<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>https://wiki.open-office.es/index.php?title=Cuadro_de_dialogo_para_OpenOffice_Calc&amp;diff=13513&amp;oldid=prev</id>
		<title>Salva en 23:18 25 ago 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-office.es/index.php?title=Cuadro_de_dialogo_para_OpenOffice_Calc&amp;diff=13513&amp;oldid=prev"/>
				<updated>2015-08-25T23:18:47Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Menu|cat=Basic|subcat=|Titulo=Cuadro de diálogo (formulario) para OpenOffice Calc|vers=4.0.x}}&lt;br /&gt;
&amp;lt;seo title=&amp;quot;Cuadro de diálogo (formulario) para OpenOffice Calc - Apache OpenOffice Basic&amp;quot; &lt;br /&gt;
metakeywords=&amp;quot;macro,basic,starbasic,manual,curso,tutorial,open,office,openoffice,apache openoffice,libreoffice&amp;quot; &lt;br /&gt;
metadescription=&amp;quot;OpenOffice.org Basic, también conocido como OOo Basic o StarBasic, es el nombre de uno de los cuatro lenguajes de macros incluidos en la suites Apache OpenOffice y LibreOffice&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este '''Cómo se hace''' vamos a mostrar paso a paso como se puede crear un cuadro de diálogo mediante el editor Basic de OpenOffice para introducir datos en una hoja de Calc.&lt;br /&gt;
&lt;br /&gt;
Para poder llevar a buen puerto este tutorial, empezaremos por crear un nuevo documento de Calc, que guardaremos con el nombre '''''Cuadro de diálogo Calc'''''.&lt;br /&gt;
&lt;br /&gt;
En la primera de sus hojas insertaremos un botón que nos permitirá abrir el cuadro de diálogo. Los datos que introduciremos en él quedarán almacenados en la '''Hoja2''' del documento.&lt;br /&gt;
&lt;br /&gt;
No se va a crear una aplicación completa. El objetivo de este tutorial es introducir al usuario en la creación y uso de los cuadros de diálogo en Calc, lo que le permitirá construir fácilmente sencillas aplicaciones para gestionar pequeñas o grandes cantidades de datos, ampliando según lo aquí aprendido su documento de Calc con más diálogos, en función de sus necesidades.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;menu-articulo&amp;quot;&amp;gt;&lt;br /&gt;
*[[#Insertar un botón en la hoja|Insertar un botón en la hoja]]&lt;br /&gt;
*[[#Crear el cuadro de diálogo|Crear el cuadro de diálogo]]&lt;br /&gt;
*[[#Insertar los controles en el diálogo|Insertar los controles en el diálogo]]&lt;br /&gt;
*[[#El código Basic necesario|El código Basic necesario]]&lt;br /&gt;
*[[#Enlazar los controles al código|Enlazar los controles al código]]&lt;br /&gt;
*[[#Enlazar el botón de la hoja al diálogo|Enlazar el botón de la hoja al diálogo]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Insertar un botón en la hoja  ==&lt;br /&gt;
Empezaremos insertando un botón en la '''Hoja1''' del documento que permitirá abrir el cuadro de diálogo que, a modo de formulario flotante, diseñaremos a continuación.&lt;br /&gt;
&lt;br /&gt;
Para ello, si no está visible, mostraremos la barra de herramientas '''''Campos de control de formulario''''' desde el menú '''''Ver &amp;gt; Barras de herramientas'''''.&lt;br /&gt;
[[Image:Cuadro.Dialogo.Formulario.OpenOffice.Calc.000.png|center|link=|class=sombra-p]]&lt;br /&gt;
Haremos un clic en esta barra de herramientas sobre el botón [[Image:macro-insertar-boton-openoffice.png|link=|class=sombra-p|Herramienta Botón]]. El cursor del ratón se mostrará como una pequeña cruz negra con un pequeño rectángulo en su extremo inferior derecho.&lt;br /&gt;
&lt;br /&gt;
Sobre el lugar deseado de la hoja de cálculo, haremos un clic y arrastrar, definiendo de esta forma las dimensiones del botón.&lt;br /&gt;
[[Image:Cuadro.Dialogo.Formulario.OpenOffice.Calc.001.png|center|link=|class=sombra-p]]&lt;br /&gt;
Las dimensiones del botón podrán modificarse utilizando sus manejadores de color verde.&lt;br /&gt;
[[Image:Cuadro.Dialogo.Formulario.OpenOffice.Calc.002.png|center|link=|class=sombra-p]]&lt;br /&gt;
Con el botón seleccionado haremos clic sobre el botón [[Image:macro-boton-control-openoffice.png|class=sombra-p|link=|Herramienta Control]] de la barra de herramientas '''''Campos de control de formulario''''', o bien, haremos un clic con el botón secundario del ratón sobre el botón, y desde el menú contextual seleccionamos la opción '''''Campo de control...'''''. Se mostrará el cuadro de diálogo '''''Propiedades: Botón'''''.&lt;br /&gt;
&lt;br /&gt;
En éste, modificaremos el '''''Título''''' escribiendo '''Abrir el diálogo''' desde su pestaña '''''General'''''. De esta forma modificamos el texto que muestra el botón recién insertado. Si lo deseas, puedes modificar otras propiedades del botón, como por ejemplo, la '''''Fuente''''' utilizada para el texto mostrado, sus dimensiones mediante las propiedades '''''Ancho''''' y '''''Altura''''', la '''''Alineación''''' horizontal y la '''''Alineación vertical''''' del texto mostrado, el '''''Color de fondo''''' del botón, incluso insertar una pequeña imagen (en formato bmp, jpg, png, etc) a modo de icono en el mismo mediante la propiedad '''''Imagen'''''.&lt;br /&gt;
[[Image:Cuadro.Dialogo.Formulario.OpenOffice.Calc.003.png|center|link=|class=sombra-p]]&lt;br /&gt;
Si quieres conocer más acerca de otras de las propiedades que puedes definir para el botón, pulsa la tecla F1 mientras esté activado el diálogo.&lt;br /&gt;
&lt;br /&gt;
Por el momento, podemos cerrar este diálogo, al que volveremos más tarde.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Crear el cuadro de diálogo ==&lt;br /&gt;
Accedemos al editor de macros IDE Basic desde el menú '''''Herramientas &amp;gt; Macros &amp;gt; Organizar macros... &amp;gt; OpenOffice.org Basic'''''.&lt;br /&gt;
&lt;br /&gt;
Localizamos el contenedor de macros de nuestro documento. Haciendo clic en el '''+''' que antecede a su nombre, se mostrará la librería '''''Standard''''', que por el momento está vacía, y que seleccionamos con un clic sobre su nombre.&lt;br /&gt;
[[Image:Cuadro.Dialogo.Formulario.OpenOffice.Calc.004.png|center|link=|class=sombra-p]]&lt;br /&gt;
Haciendo un clic sobre {{Boton|Nuevo}} creamos un nuevo módulo Basic; se presentará un diálogo sugiriendo el nombre del nuevo módulo como '''''Module1'''', nombre que aceptamos porque nos es indiferente. &lt;br /&gt;
[[Image:Cuadro.Dialogo.Formulario.OpenOffice.Calc.005.png|center|link=|class=sombra-p]]&lt;br /&gt;
Se mostrará el editor IDE Basic. Justo en la parte inferior del mismo, se muestra una pestaña con el nombre '''''Module1'''''. Haremos clic con el botón secundario del ratón sobre la pestaña, y del menú contextual seleccionamos la opción '''''Insertar &amp;gt; Diálogo BASIC'''''.&lt;br /&gt;
&lt;br /&gt;
El editor IDE Basic presentará una nueva pestaña, de nombre '''''Dialog1''''', con un pequeño diálogo dibujado en el centro de la misma, y se mostrará también la barra de herramientas flotante '''''Cuadro de herramientas'''''. Si no se muestra, puedes utilizar la opción que encontrarás en el menú '''''Ver &amp;gt; Barras de herramientas'''''&lt;br /&gt;
[[Image:Cuadro.Dialogo.Formulario.OpenOffice.Calc.006.png|center|link=|class=sombra-p]]&lt;br /&gt;
Haremos un clic con el botón secundario sobre la pestaña del diálogo, y seleccionamos '''''Renombrar''''' para cambiar su nombre a '''''Dialogo'''''.&lt;br /&gt;
&lt;br /&gt;
== Insertar los controles en el diálogo ==&lt;br /&gt;
Utilizando los botones disponibles en la barra de herramientas '''''Cuadro de herramientas''''' y siguiendo el mismo método que hemos utilizado para insertar el botón en la hoja de Calc (clic y arrastrar) insertaremos:&lt;br /&gt;
:* Tres etiquetas utilizando el botón [[Image:macro-insertar-etiqueta-openoffice.png|class=sombra-p|link=|Herramienta Etiqueta]]&lt;br /&gt;
:* Tres campos de texto utilizando el botón [[Image:macro-insertar-campo-de-texto-openoffice.png|class=sombra-p|link=|Herramienta Campo de texto]]&lt;br /&gt;
:* Dos botones utilizando el botón [[Image:macro-insertar-boton-openoffice.png|class=sombra-p|link=|Herramienta Botón]]&lt;br /&gt;
&lt;br /&gt;
Cambiaremos los textos de las etiquetas y de los botones siguiendo el mismo método que con el botón insertado en la hoja de Calc (si bien, para acceder al diálogo de propiedades, el botón ahora se llama '''''Propiedades''''', al igual que la opción del menú contextual del control).&lt;br /&gt;
&lt;br /&gt;
Haciendo un clic justo sobre el borde del diálogo podemos editar sus propiedades; así, asignaremos como '''''Título''''' de nuestro cuadro de diálogo '''''Agregar contactos'''''; una vez hechos todos estos cambios, deberemos obtener un resultado similar al mostrado en la siguiente imagen:&lt;br /&gt;
[[Image:Cuadro.Dialogo.Formulario.OpenOffice.Calc.007.png|center|link=|class=sombra-p]]&lt;br /&gt;
Guarda tu trabajo haciendo clic sobre {{Boton|Guardar}}.&lt;br /&gt;
&lt;br /&gt;
== El código Basic necesario ==&lt;br /&gt;
Haz clic sobre la etiqueta del módulo '''''Module1'''''. Teclea o mejor, copia y pega, el siguiente código sustituyendo el código existente en el módulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;br /&gt;
   '  *****  BASIC  *****&lt;br /&gt;
Option Explicit&lt;br /&gt;
   Dim oDialogo As Object&lt;br /&gt;
&lt;br /&gt;
   ' Abre el diálogo de nombre Dialogo&lt;br /&gt;
Sub Mostrar_Dialogo()&lt;br /&gt;
'-------------------------------------------------------------------&lt;br /&gt;
   DialogLibraries.LoadLibrary(&amp;quot;Standard&amp;quot;)&lt;br /&gt;
   oDialogo=CreateUNODialog(DialogLibraries.Standard.Dialogo)&lt;br /&gt;
   oDialogo.Execute()&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
   ' Cierra el diálogo&lt;br /&gt;
Sub Cerrar_Dialogo()&lt;br /&gt;
'-------------------------------------------------------------------&lt;br /&gt;
   oDialogo.EndExecute()&lt;br /&gt;
   MsgBox &amp;quot;Gracias por la visita. Vuelve pronto !!!&amp;quot;, 64, &amp;quot;Diálogo en Calc&amp;quot;&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
   ' Almacena los datos en la siguiente línea disponible de la Hoja2, y vacía los datos del formulario&lt;br /&gt;
Sub Guardar_Datos()&lt;br /&gt;
'-------------------------------------------------------------------&lt;br /&gt;
   Dim xDato As Variant, nRow As Long&lt;br /&gt;
&lt;br /&gt;
   If MsgBox( &amp;quot;¿Deseas guardar los cambios realizados?&amp;quot;, 33, &amp;quot;Diálogo en Calc&amp;quot; ) =  1 Then&lt;br /&gt;
      nRow = UltimaFila( 1 )&lt;br /&gt;
      With oDialogo.Model&lt;br /&gt;
         xDato = .TextField1.Text&lt;br /&gt;
         ThisComponent.Sheets(1).GetCellByPosition(0,nRow).SetFormula( xDato )&lt;br /&gt;
&lt;br /&gt;
         xDato = .TextField2.Text&lt;br /&gt;
         ThisComponent.Sheets(1).GetCellByPosition(1,nRow).SetFormula( xDato )&lt;br /&gt;
&lt;br /&gt;
         xDato = .TextField3.Text&lt;br /&gt;
         ThisComponent.Sheets(1).GetCellByPosition(2,nRow).SetFormula( xDato )&lt;br /&gt;
&lt;br /&gt;
         .TextField1.Text = &amp;quot;&amp;quot;&lt;br /&gt;
         .TextField2.Text = &amp;quot;&amp;quot;&lt;br /&gt;
         .TextField3.Text = &amp;quot;&amp;quot;&lt;br /&gt;
      End With&lt;br /&gt;
   End If&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
   ' Calcula cual es la primera línea disponible en la hoja&lt;br /&gt;
Function UltimaFila( nHoja As Integer ) As Long&lt;br /&gt;
'-------------------------------------------------------------------&lt;br /&gt;
   Dim oHoja As Object, n As Long&lt;br /&gt;
   oHoja = ThisComponent.Sheets(nHoja)&lt;br /&gt;
   n = 0&lt;br /&gt;
   Do While True&lt;br /&gt;
      If oHoja.GetCellByPosition(0,n).GetFormula = &amp;quot;&amp;quot; Then&lt;br /&gt;
         Exit Do&lt;br /&gt;
      End If&lt;br /&gt;
      n=n+1&lt;br /&gt;
   Loop&lt;br /&gt;
   UltimaFila = n&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guarda tu trabajo.&lt;br /&gt;
&lt;br /&gt;
No vamos a explicar que hace cada subrutina; sus nombres son suficientemente explicativos. Cómo lo hacen, tampoco lo explicamos. No es el objetivo de este tutorial. Como cualquier código, es susceptible de ser mejorado. Esperamos tus aportaciones :).&lt;br /&gt;
&lt;br /&gt;
== Enlazar los controles al código ==&lt;br /&gt;
Nos queda muy poco trabajo por hacer. Vamos a enlazar los controles del diálogo al código. Haz clic sobre la pestaña del diálogo '''''Dialogo'''''.&lt;br /&gt;
&lt;br /&gt;
Selecciona el primer botón, y muestra la ventana '''''Propiedades'''''. En la pestaña '''''Acontecimientos''''' haz clic sobre el botón con tres puntos mostrado al final de la línea correspondiente al evento '''''Botón del ratón pulsado'''''.&lt;br /&gt;
&lt;br /&gt;
Se mostrará el diálogo '''''Acción asignada'''''. Haz clic ahora sobre {{Boton|Macro}}&lt;br /&gt;
&lt;br /&gt;
Se mostrará el diálogo '''''Selector de macro'''''. Selecciona el módulo '''''Cuadro de diálogo Calc.ods &amp;gt; Standard &amp;gt; Module1''''' en la lista '''''Biblioteca'''''. En la lista '''''Nombre de macro''''' selecciona la macro '''''Guardar_Datos'''''. Haz clic sobre {{Boton|Aceptar}}.&lt;br /&gt;
[[Image:Cuadro.Dialogo.Formulario.OpenOffice.Calc.008.png|center|link=|class=sombra-p]]&lt;br /&gt;
El diálogo  '''''Acción asignada''''' se muestra ahora así. Haz clic sobre {{Boton|Aceptar}}&lt;br /&gt;
[[Image:Cuadro.Dialogo.Formulario.OpenOffice.Calc.009.png|center|link=|class=sombra-p]]&lt;br /&gt;
El diálogo '''''Propiedades:CommandButton''''' se muestra como ves en la imagen.&lt;br /&gt;
[[Image:Cuadro.Dialogo.Formulario.OpenOffice.Calc.010.png|center|link=|class=sombra-p]]&lt;br /&gt;
Selecciona el segundo botón, y realiza los mismos pasos para asignar la macro '''''Cerrar_Dialogo'''''. Cierra la ventana '''''Propiedades''''' y guarda tu trabajo.&lt;br /&gt;
&lt;br /&gt;
Cierra el editor IDE Basic. Ya hemos terminado con la parte dura. Nos queda un último detalle.&lt;br /&gt;
&lt;br /&gt;
== Enlazar el botón de la hoja al diálogo ==&lt;br /&gt;
Ahora enlazaremos el botón que situamos en la hoja de cálculo a la macro que abre el diálogo. Desde la barra de herramientas '''''Campos de control de formulario''''' activa el '''''Modo diseño''''' si no está activado, y selecciona con un clic el botón.&lt;br /&gt;
&lt;br /&gt;
Abre el diálogo '''''Propiedades:Botón''''' desde el botón [[Image:macro-boton-control-openoffice.png|link=|class=sombra-p|Herramienta Control]] de la misma barra de herramientas. Activa la pestaña '''''Acontecimientos'''''.&lt;br /&gt;
&lt;br /&gt;
Asignaremos por el mismo procedimiento que vimos antes la macro '''''Mostrar_Dialogo''''' al evento '''''Botón del ratón pulsado'''''.&lt;br /&gt;
&lt;br /&gt;
Guarda tu trabajo.&lt;br /&gt;
&lt;br /&gt;
Desde la barra de herramientas '''''Campos de control de formulario''''' desactiva el '''''Modo diseño'''''.&lt;br /&gt;
&lt;br /&gt;
Haz un clic sobre el botón. Si has seguido fielmente los pasos, y nosotros lo hemos explicado correctamente, deberás ver el cuadro de diálogo sobre la hoja de cálculo.&lt;br /&gt;
[[Image:Cuadro.Dialogo.Formulario.OpenOffice.Calc.011.png|center|link=|class=sombra-p]]&lt;br /&gt;
Prueba a completar los datos y pulsar sobre los botones para comprobar que funciona. Recuerda que los datos se almacenan en la '''''Hoja2'''''.&lt;br /&gt;
&lt;br /&gt;
Por si hemos cometido algún error (nosotros o tú, quien sabe ;) ) aquí tienes un enlace para {{enlace|http://blog.open-office.es/media/blogs/basic/Macros/Cuadro_Dialogo_Calc/Cuadro_de_dialogo_Calc.ods|descargar el documento que hemos creado para este tutorial}}.&lt;br /&gt;
&lt;br /&gt;
'''Si te ha gustado, puedes firmar en nuestro ''Libro de Visitas'', o recomendarnos en ''Facebook'', ''Twitter'', ''Google+'' o en tu red social favorita.'''&lt;br /&gt;
{{Pie|Recursos_Basic|+ Recursos para OOo Basic|cat=Basic|subcat=}}&lt;br /&gt;
[[Category:Ver.3.4.x]][[Category:Ver.3.3.x]][[Category:Ver.3.2.x]][[Category:Ver.3.1.x]]&lt;/div&gt;</summary>
		<author><name>Salva</name></author>	</entry>

	</feed>