register ra0000 net example error c# vba ms-access access-vba

ra0000 - ¿Es posible convertir VBA a C#?



regasm register (6)

En general, debería poder convertir el código manualmente. No encontrará ningún convertidor de código automatizado que lo haga.

Dicho esto, los marcos que utiliza para acceder a los datos son bastante diferentes en los mundos C # y VBA (¡incluso son bastante diferentes entre VB.NET y VBA!). Por lo tanto, querrá leer en ADO.NET antes de comenzar.

Tengo algunos módulos de bloque de código en VBA para ejecutar en algunas bases de datos de Access. Me gustaría saber cómo debo proceder si quiero convertir la codificación al entorno C #. ¿Y es posible implementar y obtener los mismos resultados que ahora obtengo con Access y VBA? Soy completamente nuevo en C # en este punto.


La conversión automática no es posible en este momento, pero hacerlo manualmente también ayudará a mejorar sus habilidades de C #. Hay un artículo Top 10 aquí que lo lleva a través de las diferencias comunes:

http://msdn.microsoft.com/en-us/library/aa164018%28office.10%29.aspx

También puede encontrar útiles los siguientes enlaces:

La página de MSDN para desarrollar soluciones de Office con C #:

http://msdn.microsoft.com/en-us/library/ms228286.aspx

La página de desarrollo de aplicaciones MSDN Visual C # (para comenzar en el desarrollo de C #):

http://msdn.microsoft.com/en-us/library/aezdt881.aspx

Buena suerte y espero que esto ayude.


Puede encontrar información útil sobre este tema exacto en msdn aquí


Una cosa a tener en cuenta es que algunos espacios de nombre de objeto y referencias de biblioteca se incluyen automáticamente cuando está codificando en VBA. Estos deben agregarse explícitamente cuando se trabaja en C #. Por ejemplo,

Selection.TypeText("foo")

en VBA se convierte

using Microsoft.Office.Interop.Word; Application word = new Application(); word.Selection.TypeText("foo");

Cª#. Las referencias de la biblioteca se pueden agregar haciendo clic derecho en la carpeta Referencias en el Explorador de soluciones y seleccionando "Agregar referencia".



Dado que VBA es MUY similar a vb.net, sugiero que te conviertas a VB.net. De hecho, a menudo puede cortar + pegar en el código, especialmente si dicho código es de un módulo de código. Si su código tiene DAO.Recordsets, entonces sugiero crear una clase en VB.net que "imite" el dao.recordset. Como tal, la mayoría del código VBA puede acercarse al 100% en un módulo de código vb.net. Por lo tanto, esto sugiere que no necesita una conversión, simplemente mueva el código de VBA a VB.net. De hecho, el 99% de los comandos en VBA existen con la misma sintaxis en VB.net.