I have code that lets me select a single item in arange:
COleVariant vItems = cstrAddr;
hr = AutoWrap(
DISPATCH_PROPERTYGET,
&vCell,
irange,
L"Item",
2,
COleVariant((short)(1)),
COleVariant((short)(1)));
if (FAILED(hr)) return hr;
// Use the dispatch interface to select the cell
COleVariant result;
hr = AutoWrap(
DISPATCH_METHOD,
&result,
vCell.pdispVal,
L"Select",
0);
if (FAILED(hr)) return hr;
This works fine. However, I need to select all the cells in the range, but I haven't been able to find a way to specify this in the "get" call for the Item property. Tried using -1,-1... tried passing in a pair of bstr in the 2 variants, specifying a colon separated range of columns and a range of rows; also tried passing in a single parameter of a string of range specification. None worked.
Update: I have also tried
hr = iRange->Select(vResult);
This does return S_OK, but it does not select the range. Normally, I can't directly call the functions in the iRange struct; the result is a gpf or access violation -- so I have to use the autowrap function (to drive an Invoke call). I'm not surprised this call doesn't work. Hope I can get this working.... it's the last piece of this project.