Worksheetを操作する
//Excelを操作するためのタイプライブラリを読みこむ(Excel2000用)
#import "C:\Program Files\Microsoft Office 2000\Office\Mso9.dll" no_namespace rename("DocumentProperties", "DocumentPropertiesXL")
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\Vbe6ext.olb" no_namespace
#import "C:\Program Files\Microsoft Office 2000\Office\excel9.olb" rename("DialogBox", "DialogBoxXL") rename("RGB", "RBGXL") rename("DocumentProperties", "DocumentPropertiesXL") no_dual_interfaces
//実行用のコード
void CXlssheetDlg::OnButton1()
{
COleVariant data;
int shtcount;
CString ActShtNam, ShtNam, strWork, sbuf;
char buffer[9];
using namespace Excel;
_ApplicationPtr pXL;
//Excelの起動
pXL.CreateInstance(L"Excel.Application");
pXL->Visible = TRUE;
//WorkBookを追加する
WorkbooksPtr pBooks = pXL->Workbooks;
_WorkbookPtr pBook = pBooks->Add((long)xlWorksheet);
//Sheetの追加
pBook->Worksheets->Add();
pBook->Worksheets->Add();
pBook->Worksheets->Add();
//アクティブ・シートの変更
data = (short)2;
SheetsPtr pSheets = pBook->Worksheets->Item[data];
pSheets->Select(data);
//アクティブ・シート名の取得
NamePtr pName = pBook->ActiveSheet;
data.bstrVal = pName->GetName();
ActShtNam = data.bstrVal;
//シート名の取得
data = (short)3;
pName = pBook->Worksheets->Item[data];
data.bstrVal = pName->GetName();
ShtNam = data.bstrVal;
//シート名の変更
data.SetString("XXXX",VT_BSTR);
pName->_Name = data.bstrVal;
//シート数の取得
shtcount = pXL->Worksheets->Count;
itoa(shtcount, buffer, 10);
sbuf = buffer;
//結果確認のために出力
strWork = "Active Sheet Name = " + ActShtNam + " Sheet 3 Name = " + ShtNam + " Sheet Count = " + sbuf;
AfxMessageBox(strWork);
//警告メッセージが出ないようにする
pXL->DisplayAlerts = FALSE;
//Excelを閉じる
pXL->Quit();
}