如何通过vc将一个excel的数据复制到另一个excel里面
答案:2 悬赏:0
解决时间 2021-11-16 01:44
- 提问者网友:神仙爷爷
- 2021-11-15 03:42
最好能实现自动打开excel,复制完成后自动关闭
最佳答案
- 二级知识专家网友:滚出爷的世界
- 2021-11-15 05:03
VBA + COM + VC.
1)利用VBA操纵excel的逻辑编写相应的VC代码。
2)VC操纵EXCEL一般是通过COM。两种方式:第一,在“添加类”向导中导入EXCEL,选中相应的接口(也可以称为对象),多为:_Application, _Workbook, _Worksheet, Range, Workbooks和Worksheets这5个接口,选中后VC向导会自动生成这5个接口的C++类,专业术语是“包装类”。第二,利用类型库文件,生成各个类的智能指针,操纵智能指针,类似ADO实现。
利用VC语法和必要的COM调用要求,结合VBA的操纵逻辑,复制EXECL数据非常简单。
具体的情况没办法解释,程序实现也要教的话没底了,只提供知识线索。实际要完成这样的程序功能,如果会VBA+COM,超简单。如果不会甚至没听说过,学起来超难,VBA不难,难的是COM。
另外,COM实现,根本不需要打开EXCEL,精确的说应该是:在操纵EXCEL时,任务管理器能看到EXCEL进程,但桌面上根本看不到EXCEL窗口。由于COM被.NET取代,现在外面的COM书籍较难觅,找些电子书吧。
1)利用VBA操纵excel的逻辑编写相应的VC代码。
2)VC操纵EXCEL一般是通过COM。两种方式:第一,在“添加类”向导中导入EXCEL,选中相应的接口(也可以称为对象),多为:_Application, _Workbook, _Worksheet, Range, Workbooks和Worksheets这5个接口,选中后VC向导会自动生成这5个接口的C++类,专业术语是“包装类”。第二,利用类型库文件,生成各个类的智能指针,操纵智能指针,类似ADO实现。
利用VC语法和必要的COM调用要求,结合VBA的操纵逻辑,复制EXECL数据非常简单。
具体的情况没办法解释,程序实现也要教的话没底了,只提供知识线索。实际要完成这样的程序功能,如果会VBA+COM,超简单。如果不会甚至没听说过,学起来超难,VBA不难,难的是COM。
另外,COM实现,根本不需要打开EXCEL,精确的说应该是:在操纵EXCEL时,任务管理器能看到EXCEL进程,但桌面上根本看不到EXCEL窗口。由于COM被.NET取代,现在外面的COM书籍较难觅,找些电子书吧。
全部回答
- 1楼网友:不服输就别哭
- 2021-11-15 06:04
这种情况我在vba也遇到过,一直没找到相应属性,
我的解决方案是
1、发现用格式刷的时候可以保留合并后的值,以下测试方法你可以试试
sub 测试()
application.displayalerts = false
range("a1:a2").mergecells = true
range("a1:a2").copy
range("b1:b2").pastespecial paste:=xlpasteformats
application.displayalerts = true
end sub
2、若是单元格不是很多,可以拿一个数组变量先暂存着,待合并单元格之后在赋值进去。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯