如果有人知道如何从Excel :: Window指针转到打开的Excel单元格中的实际值,请告诉我。 这是任务条件: - Excel目前运行在一个窗口中,在一张工作表上有一个工作簿 - 某些单元格有数据(为了简化,让我们假设只有一个单元[1,1]有数据,即“a” ) 问题是如何发现只有一个单元格有数据,单元格是[1,1],数据是“a”。 首先这里是一个代码片段:如何在C++中获取Excel单元格值
int main(int argc, CHAR* argv[])
{
CoInitialize(NULL);
HWND excelWindow = FindWindow(L"XLMAIN", NULL);
EnumChildWindows(excelWindow, (WNDENUMPROC) EnumChildProc, (LPARAM)1);
return 0;
}
BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM)
{
WCHAR szClassName[64];
if(GetClassNameW(hwnd, szClassName, 64))
{
if(_wcsicmp(szClassName, L"EXCEL7") == 0)
{
Excel::Window* pWindow = NULL;
HRESULT hr = AccessibleObjectFromWindow(hwnd, OBJID_NATIVEOM, __uuidof(Excel::Window), (void**)&pWindow);
if(hr == S_OK)
{
// Here we need to answer the question using pWindow
pWindow->Release();
}
return false;
}
}
return true;
}
为什么比较pXlSheet到0xCCCCCCCC)?你已经初始化了pXlSheet。 – 2013-11-19 23:59:51