C#からエクセルVBAのマクロを記載しマクロを実行する
C#からエクセルVBAを記載し、それを実行する方法を記載します。
C#からエクセルVBAを記載するプログラム(新規エクセルブックでの場合)
ExcelVBA.txtの中身(エクセルVBA)
C#からエクセルVBAのマクロを起動する
C#からエクセルVBAを記載するプログラム(新規エクセルブックでの場合)
//>>>>>>>>>>
//メンバ変数定義
//>>>>>>>>>>
//Microsoft.Office.Interop.Excel.Application m_MyExcelApp;
//Microsoft.Office.Interop.Excel.Workbook m_MyExcelBook;
//Microsoft.Office.Interop.Excel.Worksheet m_MyExcelSheet;
//>>>>>>>>>>
//エクセルマクロ追加
//>>>>>>>>>>
VBComponent MyModule = null;
//エクセルVBAの標準モジュールのフォルダを作成する
m_MyExcelBook.VBProject.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule);
//標準モジュール→Module1を作成する
MyModule = m_MyExcelBook.VBProject.VBComponents.Item("Module1");
//エクセルVBAが記載されたテキストファイルを指定する
MyModule.CodeModule.AddFromFile(System.Windows.Forms.Application.StartupPath + "\\ExcelVBA.txt");
//エクセルVBAの記載がおわったので開放
System.Runtime.InteropServices.Marshal.ReleaseComObject(MyModule);
ExcelVBA.txtの中身(エクセルVBA)
Public Function Hoge()
'>>>>>>>>>>
'ここに処理を記載
'>>>>>>>>>>
End Function
C#からエクセルVBAのマクロを起動する
//ExcelVBAのマクロ起動
m_MyExcelApp.Run("'" + m_MyExcelBook.Name + "'!Hoge");
- 関連記事
- C#からエクセルのイベントをキャッチする(再計算イベント) (02/14)
- C#からエクセルVBAのマクロを記載しマクロを実行する (02/07)
- C#から開いているエクセルファイルを操作する (02/06)
- C#からエクセルのイベントをキャッチする(セル変更イベント) (01/27)
- C#からエクセルのセルに書きこむ (01/26)