アクティブセルのオブジェクトを取得


COMを使用してExcelを起動します。

【オブジェクト】

  _Application

【プロパティ】

    RangePtr object->ActiveCell

【戻り値】

    アクティブセルのRangeオブジェクトを返す

【サンプル】

void CImp_app_ActiveCellDlg::OnButton1() 
{
    using namespace Excel;
    _ApplicationPtr pXL;

     //Excelの起動
    pXL.CreateInstance(L"Excel.Application");

    //Excelを表示
    pXL->Visible = TRUE;

    //WorkBookを新規で開く
    WorkbooksPtr pBooks = pXL->Workbooks;
    _WorkbookPtr pBook  = pBooks->Add();

    //動作確認用処置
    AfxMessageBox("動作確認のために一時停止。テストのためにアクティブセルを変更して下さい。");

    //アクティブセルのオブジェクトを取得する
    RangePtr pRange = pXL->ActiveCell;
    
    //オブジェクトが正しく取得できていることを確認
    _bstr_t buf = pRange->GetAddress(false,false,xlA1,vtMissing,vtMissing);
    AfxMessageBox("アクティブセル = " + buf);

    //Excelを終了
    pXL->Quit();
}

[サンプル・ソース]