以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 狐表修改EXCEL为何出错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25195) |
||||||||
-- 作者:szp2012 -- 发布时间:2012/11/3 10:10:00 -- 狐表修改EXCEL为何出错
我下载银行对账单,因各行文件格式不同(见附件中) ,我准备先将各EXCEL格式统一,比如工行农行表格中前几行删除,部分字段改名,然后导入狐表.但结果出错(测试可知) 测试操作: 银行历史明细导入窗口,点击:统一格式,选中EXCEL,保存,请看修改后的EXCEL,出错了. 我估计是EXCEL中存在合并单元格导致,现请教代码如何修改 另请教 鸣商.xls中 为何交易日期不能改为日期型,借贷,余额不能改为单精度型
以新附件为准 [此贴子已经被作者于2012-11-3 10:24:48编辑过]
|
||||||||
-- 作者:lin_hailun -- 发布时间:2012/11/3 11:01:00 -- 思路正确,不过好像Remove不会清除合并样式的。 所以必须转变思路,因为清除样式可能要用到VBA。 用一个全局变量吧……记录行开始的位置i,然后从i开始循环就行了。 |
||||||||
-- 作者:lin_hailun -- 发布时间:2012/11/3 11:05:00 -- VBA的话,这样 Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\Report.xls") Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(0) Ws.Range("A1:A8").ClearContent App.Quit 参考:http://www.foxtable.com/help/topics/2121.htm |
||||||||
-- 作者:szp2012 -- 发布时间:2012/11/3 11:33:00 -- 能否具体修改一下代码 |
||||||||
-- 作者:lin_hailun -- 发布时间:2012/11/3 11:54:00 -- 呵呵,不好意思,没有测试就乱上代码。代码应该这样写,你写到你的 农行那里,可以取消合并单元格 Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(s) Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("Sheet1") \'上面几句可以提取出去 Ws.Range("A1").mergearea.mergecells = False Ws.Range("A1").mergearea.unmerge wb.Save() \'最后务必要关闭 App.quit |
||||||||
-- 作者:szp2012 -- 发布时间:2012/11/3 13:06:00 -- 报错 |
||||||||
-- 作者:lin_hailun -- 发布时间:2012/11/3 13:26:00 -- 不会报错,你再试试,不行的的,我帮你写吧。 |
||||||||
-- 作者:szp2012 -- 发布时间:2012/11/3 16:00:00 -- 显示先已经打开 |
||||||||
-- 作者:lin_hailun -- 发布时间:2012/11/3 16:04:00 -- 嗯嗯,App是一个进程……你在任务管理器那里,把多余的Excel进程结束了,再试。 |