本文是一篇批量论文范文,批量有关研究生毕业论文开题报告,关于VBA编程实现工商银行批量转账工具软件相关毕业论文格式范文。适合批量及参考文献及企业财务方面的的大学硕士和本科毕业论文以及批量相关开题报告范文和职称论文写作参考文献资料下载。
摘 要:工商银行为个人客户提供批量转账服务,个人客户可以通过工行网上银行进行批量转账,免手续费.该文介绍了通过VBA编程制作工商银行批量转账工具软件的原理,使其能够导入并处理EXCLE文件,自动生成用于批量转账网银上传文件.
关 键 词:VBA;EXCEL;批量转账;网上银行
中图分类号:TP391文献标识码:A文章编号:1009-3044(2013)12-2804-03
1工行批量转账业务
企事业单位日常财务发放款项,经常需要同时向大批量账户转账汇款.常见的做法可以有三种方式:1)银行营业厅填写转账汇款单据.2)银行提供存盘业务.3)银行为企业财务提供工资软件.对于第一种转账方式,需在汇款单据上手写账户名、姓名、金额等详细信息,繁琐耗时,容易出错.对于第二种方式,需向银行提供EXCEL汇款表格,每笔转账收取相应手续费.对于第三种方式,无法针对个人用户使用.
2批量转账工具及其局限
工商银行针对个人客户提供网上银行批量转账业务,对于本地同行间的批量转账汇款业务免收手续费,对于需要频繁进行转账业务的个人来说将会节省大量资金.工行网上银行提供下载批量转账客户端软件(图1),用来制作批量转账上传文件,软件在使用中需要手动输入金额、付款账号、收款账号、收款账号名称,没有导入处理EXCEL文件的功能.如果汇款账户很多,此时录入操作将会非常繁琐.
转账业务的处理流程通常是汇款人保存一份“姓名、工行卡号”格式的账号EXCEL表格,如果有业务往来,自制或他人提供一份“姓名、金额”格式的用于描述汇款明细的汇款额EXCEL表格.这两份表格可以通过EXCEL提供的VLOOKUP函数连接成一份格式为“姓名、工行卡号、金额”的EXCEL文件.此时如果能将这个文件直接转换为工行可识别的上传文件,批量转账将非常简单,因为前期保存有一份常有业务往来人员的账号EXCEL表格,再次转账时,无需重复录入账号信息.该文将介绍如何将这个格式为“姓名、工行卡号、金额”的EXCEL文件自动转换成工行网银可识别的批量转账上传文件.
3批量转账上传文件格式
工行提供的批量转账工具需录入每一笔转账的“金额、付款账号、收款账号、收款账号名称”,录入完毕保存后得到后缀为“.gbpt”的网银上传文件.使用UltraEdit软件将其打开(图2),发现网银上传文件为明文文本文件,格式如下:
#总计信息
|币种|日期|总计标志|总金额|总笔数|
#明细指令信息
|币种|日期|顺序号|付款帐号|付款账号类型|收款帐号|收款帐号名称|金额|用途|备注信息|是否允许收款人查看付款人信息|手机|短信留言|
#指令结束标志
经测试发现,上传文件的格式中,只需对应填写“||||付款帐号||收款帐号|收款帐号名称|金额|||||”,将文件后缀名改为“.gbpt”,使用工行批量客户端软件打开后另存为新文件,在新文件中其他字段将会自动生成.下面将要介绍如何使用VBA编程将格式为“姓名、工行卡号、金额”的EXCEL文件转换成工行网银批量转账上传文件.
4VBA简介
VisualBasicforApplications(VBA)是一种VisualBasic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是MicrosoftOffice软件.也可说是一种应用程式视觉化的BasicScript.VBA提供了面向对象的程序设计方法,提供了相当完整的程序设计语言.VBA易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA程序代码.这样用户可以容易地将日常工作转换为VBA程序代码,使工作自动化.对于本文的应用来说,使用VBA编程,可以方便的控制EXCEL文件的行、列、单元格等.
5VBA编程实现
'提供输入的EXCEL文件应遵循格式:卡号姓名金额
Subexcel_to_txt()
DimnAsLong
init
get_parts_total
‘对每一个输出文件分别处理
Forn等于0Toparts_total
handlen
Next
write_log"Total",log_total_lines,log_total_amounts
EndSub
Subinit()
'设置付款账号卡号
card_src等于"6222021602012345678"
'设置一个结果文件的最大汇款笔数,工行批量汇款一次提交最多50笔汇款
split_num等于50
'设置文件保存路径
dir等于"C:\DocumentsandSettings\Administrator\桌面\"
log_total_amounts等于0
log_total_lines等于0
EndSub
Subhandle(part_numAsLong)
Dimlog_part_amountsAsLong
Dimlog_part_linesAsLong
DimfilenameAsString
filename等于part_num&".gbpt"
file等于dir&filenameOpenfileForOutputAs#1
scan_row等于part_num*split_num+1
end_row等于scan_row+split_num
'输出第一行
Print#1,"RMB|20120304|1|78900|6|"
log_part_amounts等于0
log_part_lines等于0
‘处理每一行
DoWhilescan_row WithSheet1 card_des等于.Cells(scan_row,1) name等于.Cells(scan_row,2) ine等于.Cells(scan_row,3) ine_int等于.Cells(scan_row,3) ine等于ine&"00" EndWith log_part_amounts等于log_part_amounts+ine_int str等于"RMB|||"&card_src&"||"&card_des&"|"&name&"|"&ine&"|||0||" ‘输出到结果文件 Print#1,str scan_row等于scan_row+1 Loop log_part_lines等于scan_row-part_num*split_num-1 log_total_lines等于log_total_lines+log_part_lines log_total_amounts等于log_total_amounts+log_part_amounts write_logfilename&"",log_part_lines,log_part_amounts Print#1,"*" Close#1 EndSub ‘获得批量上传文件的个数 Subget_parts_total() scan_row等于1 DoWhileNotIsEmpty(Sheet1.Cells(scan_row,1)) scan_row等于scan_row+1 Loop lines_total等于scan_row-1 parts_total等于lines_total/split_num EndSub 6总结 本文介绍使用VBA编程制作工商银行网银批量转账工具软件,使得EXCEL汇款明细文件自动生成网银批量转账(免手续费)上传文件,从而在上传文件制作过程中完全不用手工输入操作,大幅度提高工作效率和准确性.