以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  狐表修改EXCEL为何出错  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=25195)

--  作者:szp2012
--  发布时间:2012/11/3 10:10:00
--  狐表修改EXCEL为何出错

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文件夹.zip

我下载银行对账单,因各行文件格式不同(见附件中) ,我准备先将各EXCEL格式统一,比如工行农行表格中前几行删除,部分字段改名,然后导入狐表.但结果出错(测试可知)

 测试操作: 银行历史明细导入窗口,点击:统一格式,选中EXCEL,保存,请看修改后的EXCEL,出错了.

我估计是EXCEL中存在合并单元格导致,现请教代码如何修改

另请教 鸣商.xls中 为何交易日期不能改为日期型,借贷,余额不能改为单精度型

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文件夹.zip

以新附件为准
[此贴子已经被作者于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进程结束了,再试。