ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   VBA to C# conversion. (https://www.excelbanter.com/excel-programming/411901-vba-c-conversion.html)

Kevin Burton

VBA to C# conversion.
 
For many of the tasks that I want to accomplish I am referrred to recording a
macro with in EXCEL and then looking at the results. What has become a major
obstactle is converting the VBA code to C#. For example I recorded a simple
macro for formatting a range of cells:

//Range("B1:D1").Select
//With Selection
// .HorizontalAlignment = xlCenterAcrossSelection
// .VerticalAlignment = xlBottom
// .WrapText = False
// .Orientation = 0
// .AddIndent = False
// .IndentLevel = 0
// .ShrinkToFit = False
// .ReadingOrder = xlContext
// .MergeCells = False
//End With

The problem with this code is that in C# there doesn't seem to be xlContext,
xlBottom, and xlCenterAcrosssSelection. There doesn't seem to be a Range
object that has a Select method. There isn't a 'Selection' object. The return
from Range.Select is an object which of course doesn't have all of the
properties listed in the VBA code 'WITH'. This is just a smple example I can
see more anomalies popping up with the VBA code gets more complicated.
Suggestions?

Thank you.

Kevin

Harald Staff[_2_]

VBA to C# conversion.
 
Hi Kevin

For the enumerations (xlBottom el al), see/search the object browser in
excel's VB editor for their corresponding numerical values.

For the rest; if you are to remote control Excel then you must set reference
to it (and I can't tell how that's done with C#). Once referenced, you
should in theory have access to the objects.

HTH. Best wishes Harald

"Kevin Burton" wrote in message
...
For many of the tasks that I want to accomplish I am referrred to
recording a
macro with in EXCEL and then looking at the results. What has become a
major
obstactle is converting the VBA code to C#. For example I recorded a
simple
macro for formatting a range of cells:

//Range("B1:D1").Select
//With Selection
// .HorizontalAlignment = xlCenterAcrossSelection
// .VerticalAlignment = xlBottom
// .WrapText = False
// .Orientation = 0
// .AddIndent = False
// .IndentLevel = 0
// .ShrinkToFit = False
// .ReadingOrder = xlContext
// .MergeCells = False
//End With

The problem with this code is that in C# there doesn't seem to be
xlContext,
xlBottom, and xlCenterAcrosssSelection. There doesn't seem to be a Range
object that has a Select method. There isn't a 'Selection' object. The
return
from Range.Select is an object which of course doesn't have all of the
properties listed in the VBA code 'WITH'. This is just a smple example I
can
see more anomalies popping up with the VBA code gets more complicated.
Suggestions?

Thank you.

Kevin




All times are GMT +1. The time now is 04:06 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com