Workbookを操作する
//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 CVc_xlsbookctrlDlg::OnButton1()
{
COleVariant data;
long count;
CString sbuf, ActBokNam, BokNam, strWork;
char buffer[10];
using namespace Excel;
_ApplicationPtr pXL;
//Excelの起動
pXL.CreateInstance(L"Excel.Application");
pXL->Visible = TRUE;
//ブックを追加する
pXL->Workbooks->Add();
pXL->Workbooks->Add();
pXL->Workbooks->Add();
//ブックの数を数える
count = pXL->Workbooks->Count;
itoa(count, buffer, 10);
sbuf = buffer;
//アクティブ・ブックを変更する
data = (short)2;
_WorkbookPtr pBook = pXL->Workbooks->Item[data];
pBook->Activate();
//アクティブ・ブック名の取得
NamePtr pName = pXL->ActiveWorkbook;
data.bstrVal = pName->GetName();
ActBokNam = data.bstrVal;
//ブック名の取得
data = (short)3;
pName = pXL->Workbooks->Item[data];;
data.bstrVal = pName->GetName();
BokNam = data.bstrVal;
//結果確認のために出力
strWork = "Active Book Name = " + ActBokNam + "\nBook 3 Name = " + BokNam + "\nBook Count = " + sbuf;
AfxMessageBox(strWork);
pXL->Quit();
}