C++操作EXCEL,翻译VB宏碰到的 With 的问题

void_main_void 2017-10-12 09:14:48

With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 9).Font.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorText1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0.6800000072
.Solid
End With

碰到上面,我确定拿到正确的 Fill 的指针,然后开始对 Visible设置值的时候。

VARIANT param3;
param3.vt = VT_BOOL ;
param3.boolVal = -1;
hr = OLEMethod(DISPATCH_PROPERTYGET, NULL, pFill, L"Visible", 1, param3) ;
if (hr != S_OK)
{
goto EXIT ;
}

在OLEMethod中调用

hr = pDisp->Invoke(dispID, IID_NULL, LOCALE_SYSTEM_DEFAULT, nType, &dp, pvResult, NULL, NULL) ;


返回的结果却是 “0x80020011 不支持集合”

有了解这是为何的吗 ?

http://bbs.csdn.net/topics/392273231 这里还有40分
...全文
606 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Guan975 2017-10-18
  • 打赏
  • 举报
回复

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧