2010-08-18 11:18:33
C#からExcel VBAのモジュールを実行する
テーマ: C#
C#からExcelを操作する
http://ameblo.jp/okya-tec/entry-10622944491.html
ここらへんを踏まえて、連続記事。
Excel VBAで記述されたモジュールを実行するサンプルソース。
-C#側-
-C#側 終了-
-Excel VBA側(標準モジュール内に記述)-
-Excel VBA側 終了-
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(
// 第1引数は、function名、それ以降は引数(最大30)、返り値は、object型にて受け取り
object obj = app.Run("Hoge", 1, 2, 3,
Console.WriteLine(int.Parse(obj.ToString()));
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));
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);
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()));
-Excel VBA側(標準モジュール内に記述)-
Public Function Hoge(toX As Integer, toY As Integer, from As Integer) As Integer
Hoge = toX + toY - form
End Function