<?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=Declaracion_de_variables_en_OpenOffice_Basic</id>
		<title>Declaracion de variables en OpenOffice Basic - 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=Declaracion_de_variables_en_OpenOffice_Basic"/>
		<link rel="alternate" type="text/html" href="https://wiki.open-office.es/index.php?title=Declaracion_de_variables_en_OpenOffice_Basic&amp;action=history"/>
		<updated>2026-06-04T03:11:38Z</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=Declaracion_de_variables_en_OpenOffice_Basic&amp;diff=10124&amp;oldid=prev</id>
		<title>Salva en 20:12 28 jul 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-office.es/index.php?title=Declaracion_de_variables_en_OpenOffice_Basic&amp;diff=10124&amp;oldid=prev"/>
				<updated>2013-07-28T20:12:25Z</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=Las variables en OpenOffice Basic|Titulo=Declaración de variables|vers=4.0.x}}&lt;br /&gt;
&amp;lt;seo title=&amp;quot;Declaración de variables - Apache OpenOffice Basic&amp;quot; &lt;br /&gt;
metakeywords=&amp;quot;macro,declara,variable,dim,private,global,public,static,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;
== Declaración implícita de variables ==&lt;br /&gt;
OpenOffice Basic admite la declaración implícita de variables. Esta afirmación significa que se permite la creación de variables simplemente incluyéndolas en el código.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;br /&gt;
Sub Main&lt;br /&gt;
  Variable = 25&lt;br /&gt;
  MsgBox Variable&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Este código crea la variable de nombre ''Variable'' y le asigna el valor ''25''; posteriormente es utilizado por el comando ''MsgBox'', mostrando una ventana con el número 25.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:OpenOffice.Basic.Macros.014.png|center|link=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta práctica no es aconsejable, pues puede dar como resultado la creación de nuevas variables por un simple error tipográfico, en lugar de generar un error detectable, y en consecuencia, resultará más difícil encontrar posibles errores en el código.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;br /&gt;
Sub Main&lt;br /&gt;
  Variable = 25&lt;br /&gt;
  MsgBox Variabe&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Este código crea la variable de nombre ''Variable'' y le asigna el valor ''25''; posteriormente se crea una nueva variable denominada ''Variabe'', que se ha escrito con un simple error tipográfico. Ésta es utilizada por el comando ''MsgBox'', mostrando una ventana vacía, pues la nueva variable no contiene ningún valor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:OpenOffice.Basic.Macros.015.png|center|link=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Declaración explícita de variables ==&lt;br /&gt;
Para evitar los errores debidos a la declaración implícita de variables, OpenOffice Basic proporciona una instrucción que se debe insertar al inicio de cada módulo, forzando con ello la declaración explícita de las variables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta instrucción es:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;br /&gt;
Option Explicit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tras incluir esta instrucción al inicio de un módulo, las variables deberán ser declaradas con una instrucción '''Dim'''. Cualquier variable no declarada será identificada por un error como el siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:OpenOffice.Basic.Macros.013.png|center|link=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mediante este sencillo procedimiento evitaremos errores en nuestro código y facilitaremos la localización de los mismos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Las variables se pueden declarar de forma explícita de los siguientes modos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
:* [[#Declaración de variables a nivel de módulo|Al principio de un módulo]]&lt;br /&gt;
:* [[#Declaración de variables a nivel de subrutina o función|Dentro de una subrutina o una función]]&lt;br /&gt;
:* [[#Declaración de variables como argumento|Como argumentos de una subrutina o una función]]&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Las variables se declaran con la sentencia &lt;br /&gt;
&lt;br /&gt;
{{fosfi|centrar=si|Dim &amp;lt;NombreDeVariable&amp;gt;[ As &amp;lt;TipoDeVariable&amp;gt;]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si no se define el tipo de variable, se asigna el tipo '''''Variant'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;br /&gt;
Dim Textos as String&lt;br /&gt;
Dim NumerosEnteros as Integer&lt;br /&gt;
Dim EnterosGrandes as Long&lt;br /&gt;
Dim NumerosConDecimales as Single&lt;br /&gt;
Dim NumerosGrandesConDecimales as Double&lt;br /&gt;
Dim Fecha as Date&lt;br /&gt;
Dim Hora as Date&lt;br /&gt;
Dim Verdadero as Boolean&lt;br /&gt;
Dim Importe as Currency&lt;br /&gt;
Dim miObjeto as Object&lt;br /&gt;
Dim CualquierCosa as Variant&lt;br /&gt;
Dim CualquierOtraCosa&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Usar sufijos para declarar el tipo de variable ===&lt;br /&gt;
También se pueden declarar y definir su tipo utilizando los sufijos que se relacionan en la [[Tipos_de_variables_en_OpenOffice_Basic|tabla de tipos de variables]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;br /&gt;
Dim Textos$&lt;br /&gt;
Dim NumerosEnteros%&lt;br /&gt;
Dim EnterosGrandes&amp;amp;&lt;br /&gt;
Dim NumerosConDecimales!&lt;br /&gt;
Dim NumerosGrandesConDecimales#&lt;br /&gt;
Dim Importe@&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se pueden declarar varias variables en una sóla línea tras una única sentencia '''''Dim''''' siguiendo este modelo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;br /&gt;
Dim Fecha as Date, Texto as String, Contador as Integer&lt;br /&gt;
Dim Precio as Currency, Descuento as single&lt;br /&gt;
Dim CualquierCosa, Importe as Currency, Total as Currency&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La variable '''''CualquierCosa''''' del ejemplo será declarada como '''''Variant''''', al no especificar el tipo de variable en la declaración.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un tercer modo de declarar el tipo de variable lo puedes encontrar en [[Opciones_y_directivas_del_compilador#Directiva Def|Directiva Def]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Declaración de variables a nivel de módulo ==&lt;br /&gt;
Podemos declarar variables a nivel de módulo, declarando éstas después de las [[#Opciones y directivas del compilador|opciones de compilador]] y antes de cualquier función o subrutina.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;br /&gt;
REM  *****  BASIC  *****&lt;br /&gt;
Option Explicit&lt;br /&gt;
&lt;br /&gt;
Dim Fecha as date, Hora as Date, Empresa as string&lt;br /&gt;
Dim Guardar as boolean&lt;br /&gt;
&lt;br /&gt;
Sub MiSubrutina() as string&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cualquier variable declarada a nivel de módulo será visible por todas las funciones y subrutinas de ese módulo.&lt;br /&gt;
Solo será visible en ese módulo (salvo que se declare como pública).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Declaración de variables a nivel de subrutina o función ==&lt;br /&gt;
Podemos declarar variables a nivel de subrutina o función, declarando éstas después de la declaración de la subrutina o función, y antes de su finalización con '''''End Sub''''' o '''''End Function''''', según corresponda, y siempre antes de utilizar la variable, por lo que es recomendable situarlas al principio, justo tras la declaración de la subrutina o función.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;br /&gt;
REM  *****  BASIC  *****&lt;br /&gt;
Option Explicit&lt;br /&gt;
&lt;br /&gt;
Dim Fecha as date, Hora as Date, Empresa as string&lt;br /&gt;
Dim Guardar as boolean&lt;br /&gt;
&lt;br /&gt;
Sub MiSubrutina() as string&lt;br /&gt;
    Dim miFecha as date, miHora as date, Guardar as boolean&lt;br /&gt;
&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cualquier variable declarada a nivel de función o subrutina será visible sólo dentro de la misma (salvo que se declare como pública). Si el nombre coincide con una variable declarada a nivel de módulo, o pública, la variable de la función o subrutina '''eclipsará''' a las anteriores, por lo que no podremos acceder a ellas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Declaración de variables como argumento ==&lt;br /&gt;
Al declarar los argumentos de una subrutina o función, estamos declarando variables, que podemos tipificar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;br /&gt;
REM  *****  BASIC  *****&lt;br /&gt;
Option Explicit&lt;br /&gt;
&lt;br /&gt;
Dim Fecha as date, Hora as Date, Empresa as string&lt;br /&gt;
Dim Guardar as boolean&lt;br /&gt;
&lt;br /&gt;
Sub MiSubrutina( Importe as Currency, Descuento as single ) as string&lt;br /&gt;
    Dim miFecha as date, miHora as date, Guardar as boolean&lt;br /&gt;
&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Las variables argumento se comportan exactamente igual que las variables declaradas a nivel de función o subrutina: serán visibles sólo dentro de la misma. Si el nombre coincide con una variable declarada a nivel de módulo, o pública, la variable argumento '''eclipsará''' a las anteriores, por lo que no podremos acceder a ellas.&lt;br /&gt;
No pueden coexistir variables de argumento y variables a nivel de función o subrutina con el mismo nombre.&lt;br /&gt;
&lt;br /&gt;
{{Pie|Visibilidad -alcance- de las variables en OpenOffice Basic|Larga=7}}&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>