CoInitialize(NULL); HRESULT hr; CLSID clsidExcelApp; // get CLSID of Excel Application hr = CLSIDFromProgID(L"Excel.Application", &clsidExcelApp); IUnknown *pUnk = 0; // get running object that has been registered with OLE. hr = GetActiveObject(clsidExcelApp, NULL, &pUnk); if(SUCCEEDED(hr)) { IDispatch *pDisp = 0; hr = pUnk->QueryInterface(IID_IDispatch, (void**)&pDisp); //use class wizard generated excel type lib classes.. CApplication oApp(pDisp); CWorkbooks oBooks = oApp.get_Workbooks(); CWorkbook oBook = oBooks.get_Item(COleVariant((short)1)); //First workbook CWorksheets oSheets = oBook.get_Worksheets(); CWorksheet oSheet = oSheets.get_Item(COleVariant((short)1)); //First work sheet oSheet.Activate(); CRange oRange = oSheet.get_Range(COleVariant(CString(L"A1")), COleVariant(CString(L"A1"))); //cell A1 COleVariant var = oRange.get_Text(); MessageBox(var.bstrVal, L"Text in cell A1"); } doesn't work? :doh: