![]() |
Reading a Cell Value in C++ (with Autowrap)
Hi there,
i can't read a cell value in excel. writing a cell value works fine with this: int cell_value=12345; { VARIANT val; val.vt = VT_I4; val.lVal = cell_value; my_manager-AutoWrap(DISPATCH_PROPERTYPUT, NULL, pXlRange, L"Value", 1, val); } but when i change the code to reading a cell value, it does not work: VARIANT k; k.vt= VT_BSTR; { VARIANT rVal; VariantInit(&rVal); my_manager-AutoWrap(DISPATCH_PROPERTYGET|DISPATCH_METHOD, &rVal, pXlRange, L"value", 0); VariantCopy(&k, &rVal); VariantClear(&rVal); } BSTR mybstr=k.bstrVal; USES_CONVERSION; char* myout = W2A(mybstr); VariantClear(&k); what's wrong? |
Reading a Cell Value in C++ (with Autowrap)
Problem solved, this does work:
char* myout; char* myout2; float fOut; { VARIANT rVal; VariantInit(&rVal); my_manager-AutoWrap(DISPATCH_PROPERTYGET|DISPATCH_METHOD, &rVal, pXlRange, L"value", 0); switch (rVal.vt) { case VT_I2: myout="VT_I2"; break; case VT_I4: myout="VT_I4"; break; case VT_R4: myout="VT_R4"; break; case VT_R8: myout="VT_R8"; fOut=rVal.dblVal; break; case VT_BSTR: myout="VT_BSTR"; { USES_CONVERSION; myout2=W2A(rVal.bstrVal); } break; default: myout="Field type not supported."; break; } VariantClear(&rVal); } Christian Friedrich schreef: Hi there, i can't read a cell value in excel. writing a cell value works fine with this: int cell_value=12345; { VARIANT val; val.vt = VT_I4; val.lVal = cell_value; my_manager-AutoWrap(DISPATCH_PROPERTYPUT, NULL, pXlRange, L"Value", 1, val); } but when i change the code to reading a cell value, it does not work: VARIANT k; k.vt= VT_BSTR; { VARIANT rVal; VariantInit(&rVal); my_manager-AutoWrap(DISPATCH_PROPERTYGET|DISPATCH_METHOD, &rVal, pXlRange, L"value", 0); VariantCopy(&k, &rVal); VariantClear(&rVal); } BSTR mybstr=k.bstrVal; USES_CONVERSION; char* myout = W2A(mybstr); VariantClear(&k); what's wrong? |
All times are GMT +1. The time now is 04:03 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com