合并EXCEL单元格的问题!!急急急急急!!

anonimousboy 2004-01-06 12:27:41
在合并单元阁的时候,我横着合并就可以实现,但是竖着合并就不好用,哪个大虾遇到过这样的问题啊!给小弟点提示啊!
range = sheet.get_Range(COleVariant("A1"),COleVariant("D1"));
range.Merge(COleVariant(short(4)));
这个就没办法实现合并!!!!
range = sheet.get_Range(COleVariant("A1"),COleVariant("A7"));
range.Merge(COleVariant(short(7)));
...全文
69 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gjd111686 2004-01-07
  • 打赏
  • 举报
回复
你安装Office时把VBA帮助安装上就可以了.
EG:
C:\Program Files\Microsoft Office\Office\2052\VBAWRD9.CHM
zhansg 2004-01-07
  • 打赏
  • 举报
回复
BOOL COptExcelFile::MergeItems(long nRow1, long nRow2, long nCol1, long nCol2)
{
Range r;
char s1[16], s2[16];

if(!m_bInitialized)
return FALSE;

memset(s1, 0, 16);
memset(s2, 0, 16);
if((nCol1-1) / 26 > 0)
sprintf(s1, "%c", (nCol1-1) / 26 + 'A' - 1);
if((nCol2-1) / 26 > 0)
sprintf(s2, "%c", (nCol2-1) / 26 + 'A' - 1);
sprintf(s1 + strlen(s1), "%c%d", ((nCol1-1) % 26) + 'A', nRow1);
sprintf(s2 + strlen(s2), "%c%d", ((nCol2-1) % 26) + 'A', nRow2);

try{
r = m_Sheet.GetRange(_variant_t(s1),_variant_t(s2));
r.SetMergeCells(_variant_t(true));
r.DetachDispatch();
}CATCH_EXCEL;
return TRUE;
}
anonimousboy 2004-01-07
  • 打赏
  • 举报
回复
哈哈,金刚兄指点的果然正确,我已经实验过了,就是你说的哪个意思!
其实我一直都没明白Merge那个参数的意义,因为手中一点资料都没有!只能一点点的实验
我一般都是通过EXCEL里的录制宏工具来找到响应VBA部分代码,然后再自己改变成VC下的代码!
还有一点不明白的是,金刚兄是如何知道这些资料的?有什么好办法,还请告诉小弟!谢谢啦!
gjd111686 2004-01-06
  • 打赏
  • 举报
回复
Across Variant 类型,可选.若为True,则将指定区域内的每一行合并为一个合并单元格.默认值为False.
COleVariant vFalse((long)0),vTrue((long)1);
range.Merge(vFalse);
没有试,不确定是否正确.

3,248

社区成员

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

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