如果有人知道如何從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