Is it possible to convert VBA to C#?

Automatic conversion isn't possible at the moment, but doing it manually will also help improve your C# skills. There's a Top 10 article here that takes you through the common differences:

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

You may also find the following links useful:

The MSDN page for developing Office solutions with C#:

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

The MSDN Visual C# application development page (for starting out in C# development):

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

Good luck and I hope this helps.


One thing to be aware of is that some object name spaces and library references are included automatically when you are coding in VBA. These need to be explicitly added when working in C#. For example,

Selection.TypeText("foo")

in VBA becomes

using Microsoft.Office.Interop.Word;

Application word = new Application();
word.Selection.TypeText("foo");

in C#. Library references can be added by right-clicking the References folder in the Solution Explorer and choosing "Add Reference".


Generally, you should be able go convert the code manually. You won't find any automated code converters that will do it.

That being said, the frameworks which you use to access data are quite different in the C# and VBA worlds (they're even quite different betwween VB.NET and VBA!). So you're going to want to read up on ADO.NET before you get started.

Tags:

C#

Ms Access

Vba