<?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=Nota_sobre_migrar_de_VBA_a_OOo_Basic</id>
		<title>Nota sobre migrar de VBA a OOo 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=Nota_sobre_migrar_de_VBA_a_OOo_Basic"/>
		<link rel="alternate" type="text/html" href="https://wiki.open-office.es/index.php?title=Nota_sobre_migrar_de_VBA_a_OOo_Basic&amp;action=history"/>
		<updated>2026-06-04T05:45:21Z</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=Nota_sobre_migrar_de_VBA_a_OOo_Basic&amp;diff=13680&amp;oldid=prev</id>
		<title>Salva en 15:58 27 ago 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-office.es/index.php?title=Nota_sobre_migrar_de_VBA_a_OOo_Basic&amp;diff=13680&amp;oldid=prev"/>
				<updated>2015-08-27T15:58:43Z</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=|vers=4.0.x}}&lt;br /&gt;
&amp;lt;seo title=&amp;quot;Nota sobre migrar de VBA a OOoBasic - Apache OpenOffice Basic&amp;quot; &lt;br /&gt;
metakeywords=&amp;quot;migrar,vb,vba,migracion,convertir,traducir,macros,basic,starbasic,ooobasic,manual,curso,tutorial,openoffice,libreoffice&amp;quot; &lt;br /&gt;
metadescription=&amp;quot;La compatibilidad entre OOo Basic y VBA quedará suficientemente aclarada tras leer este artículo.&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;''La compatibilidad entre OOo Basic y VBA hace referencia tanto al lenguaje OOo Basic como a la biblioteca de ejecución. La API de OOo (StarOffice) y el Editor de diálogos no son compatibles con VBA (la estandarización de dichas interfaces hubiese impedido la incorporación de muchos de los conceptos proporcionados por StarOffice)''.&amp;lt;/big&amp;gt;{{Llamada|Notas|1}}&lt;br /&gt;
&lt;br /&gt;
Esto, traducido al cristiano, significa que:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mitb w90x100 sombra&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; &lt;br /&gt;
! VBA {{Llamada|Notas|2}}&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
If x = 0 Then&lt;br /&gt;
   MsgBox &amp;quot;x es igual a cero&amp;quot;, vbInformation&lt;br /&gt;
Else&lt;br /&gt;
   MsgBox &amp;quot;x es distinto de cero&amp;quot;, vbCritical&lt;br /&gt;
End If &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; &lt;br /&gt;
! OOo Basic {{Llamada|Notas|2}}&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;br /&gt;
if x=0 then&lt;br /&gt;
   msgbox &amp;quot;x es igual a cero&amp;quot;, 64&lt;br /&gt;
else&lt;br /&gt;
   msgbox &amp;quot;x es distinto de cero&amp;quot;, 16&lt;br /&gt;
end if &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mitb w90x100 sombra&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; &lt;br /&gt;
! VBA {{Llamada|Notas|2}}&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
For k = 0 To 3000&lt;br /&gt;
    m = m + 1&lt;br /&gt;
Next&lt;br /&gt;
MsgBox &amp;quot;k contiene &amp;quot; &amp;amp; k &amp;amp; &amp;quot; y m contiene &amp;quot; &amp;amp; _&lt;br /&gt;
         Format(m, &amp;quot;#,##0.00&amp;quot;), vbQuestion&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; &lt;br /&gt;
! OOo Basic {{Llamada|Notas|2}}&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;br /&gt;
for k=0 to 3000&lt;br /&gt;
    m=m+1&lt;br /&gt;
next&lt;br /&gt;
msgbox &amp;quot;k contiene &amp;quot; &amp;amp; k &amp;amp; &amp;quot; y m contiene &amp;quot; &amp;amp; _&lt;br /&gt;
         format(m,&amp;quot;#,##0.00&amp;quot;), 32&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mitb w90x100 sombra&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; &lt;br /&gt;
! VBA {{Llamada|Notas|2}}&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
Sub EjemploVBA()&lt;br /&gt;
' Desde un documento Excel abre otro documento Excel&lt;br /&gt;
' existente y lo cierra.&lt;br /&gt;
Dim oHoja As Workbook&lt;br /&gt;
  ' Abro el libro donde quiero buscar el valor&lt;br /&gt;
    oHoja = Workbooks.Open Filename:= _&lt;br /&gt;
       &amp;quot;NombreyRutaDelDocumento&amp;quot;&lt;br /&gt;
  ' Cierro el libro que acabo de abrir.&lt;br /&gt;
    oHoja.Close&lt;br /&gt;
End Sub&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; &lt;br /&gt;
! OOo Basic {{Llamada|Notas|2}}&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;br /&gt;
Sub EjemploOOoBasic()&lt;br /&gt;
' Desde un documento Calc abre otro documento Calc&lt;br /&gt;
' existente y lo cierra.&lt;br /&gt;
Dim sRuta As String, oHoja As Object, mArg()&lt;br /&gt;
 ' Abro el libro donde quiero buscar el valor&lt;br /&gt;
   sRuta = ConvertToUrl( &amp;quot;NombreyRutaDelDocumento&amp;quot; )&lt;br /&gt;
   oHoja = StarDesktop.loadComponentFromURL( _&lt;br /&gt;
        sRuta, &amp;quot;_blank&amp;quot;, 0, mArg() )&lt;br /&gt;
 ' Cierro el libro que acabo de abrir&lt;br /&gt;
   oHoja.close(True)&lt;br /&gt;
End Sub&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como puedes ver, la estructura de un ''''' IF'''''  o de un bucle ''''' FOR'''''  es la misma. En cuanto al ''Basic'', son compatibles. Algunas funciones se llaman y utilizan parámetros parecidos ('''''msgbox''''' o ''''' format''''' ), &amp;lt;u&amp;gt;pero no todas&amp;lt;/u&amp;gt;. En cuanto a los objetos, el acceso a los mismos, sus propiedades, eventos y métodos, &amp;lt;u&amp;gt;son completamente diferentes&amp;lt;/u&amp;gt;, aunque exista alguna coincidencia (el método ''''' close'''''  para cerrar un documento abierto).&lt;br /&gt;
&lt;br /&gt;
La incompatibilidad de las API y del editor de diálogos hace imposible la importación directa de las macros VBA. Hay que reescribirlas por completo, pues como se ha visto en los ejemplos, los objetos, métodos, propiedades, eventos, etc. son absolutamente diferentes.&lt;br /&gt;
&lt;br /&gt;
Tampoco existe comparación posible entre el editor de VBA y el de OOo. Quien ha trabajado con el primero sabe que es el mismo que se utiliza en Visual Basic v.6 y que proporciona magníficas herramientas de las cuales carece el editor de OOo.&lt;br /&gt;
&lt;br /&gt;
La documentación existente de VBA en la web está muy estructurada, y a pesar de que es tan críptica como cualquier otra para usuarios noveles, es mucho mejor que la disponible para OOo Basic. Recomendamos por ello que consultes los manuales arriba relacionados de Mauricio Baeza y los que han traducido Arturo Garro e Ismael Fanlo. Si conoces un mínimo de inglés, no dudes en aventurarte con los manuales de Andrew Pitonyak. Al fin y al cabo, si sabes programar macros en VBA, no tendrás problema en entender la mayor parte de estos manuales.&lt;br /&gt;
&lt;br /&gt;
Todas estas dolencias hacen que la migración resulte fatigosa y muy laboriosa. No esperes un camino fácil. Migrar macros no es como convertir documentos de Word o de Excel, para los que OOo dispone de un [[El asistente de Writer|Asistente]] que -salvo en aquello que no se puede por copyright o por incompatibilidad absoluta- en pocos minutos puede traducir cientos de documentos y plantillas.&lt;br /&gt;
&lt;br /&gt;
Esperemos que en un futuro, ojalá que sea muy próximo, podamos eliminar los comentarios de esta página.&lt;br /&gt;
{{Nota al pie|Notas|Extraido de la Guía de programación de StarOffice 7 para BASIC.|Tecleando en los editores correspondientes todo en minúscula.El editor de VBA reconoce los comandos y les aplica formato automáticamente, agregando espacios entre los iguales, etc.}}&lt;br /&gt;
{{Pie|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>