C#からExcel VBAのモジュールを実行する | 【初心者・学生】プログラマ、オキャの技術ブログ【大歓迎】

C#からExcel VBAのモジュールを実行する

C#からExcelを操作する
http://ameblo.jp/okya-tec/entry-10622944491.html

ここらへんを踏まえて、連続記事。
Excel VBAで記述されたモジュールを実行するサンプルソース。

-C#側-
Excel.Application app = null;
Excel.Workbook workBook = null;

app = new Excel.Application();
app.Visible = true;

workBook= (Excel.Workbook)(app.Workbooks.Open(
this.textBox2.Text,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing));

// 第1引数は、function名、それ以降は引数(最大30)、返り値は、object型にて受け取り
object obj = app.Run("Hoge", 1, 2, 3,
Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,
Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,
Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,
Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,
Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,
Type.Missing,Type.Missing);

Console.WriteLine(int.Parse(obj.ToString()));
-C#側 終了-


-Excel VBA側(標準モジュール内に記述)-
Public Function Hoge(toX As Integer, toY As Integer, from As Integer) As Integer
Hoge = toX + toY - form
End Function
-Excel VBA側 終了-