Visual C# でExcelオートメーション
Amebaでブログを始めよう!

基本形 (オブジェクト定義~インスタンス化~COM解放)


// 各オブジェクトを定義する

Excel.Application objApp;
Excel.Workbooks objBooks;

Excel._Workbook objBook;
Excel.Sheets objSheets;
Excel._Worksheet objSheet;
Excel.Range range;

// インスタンス化
objApp = new Excel.Application();
objBooks = objApp.Workbooks;
objBook = objBooks.Add(Missing.Value);
objSheets = objBook.Worksheets;

// オブジェクトシートを指定する(ここでは1ページ目を指定してある)
objSheet = (Excel._Worksheet)objSheets.get_Item(1);


//

// ここに命令を入れていく(この度は省略)

//


/* その後にユーザにExcelコントロールを返す場合は以下 */
objApp.Visible = true;
objApp.UserControl = true;
/*************************************************/

// COMオブジェクトを解放して終了する
System.Runtime.InteropServices.Marshal.ReleaseComObject(objSheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(objSheets);
System.Runtime.InteropServices.Marshal.ReleaseComObject(objBooks);
System.Runtime.InteropServices.Marshal.ReleaseComObject(objApp);

参照の設定

■ C#でExcelを扱うには、以下の参照(COM)を追加する必要がある:

① Microsoft Excel 11.0 Object Library // 必須

② Microsoft Office 11.0 Object Library // Microsoft.Office.Core

   操作するExcelのバージョンによります(11.0 はOffice2003)


■ もちろんこれ↓も:

using Excel = Microsoft.Office.Interop.Excel;