欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是: 首页

浅谈用Excel设计的支票打印小应用

科普小知识 2023-11-05 19:07:15
...

[摘 要] 本文从宏语句设计、单元格属性设置与函数应用、打印及纸张设置等方面详细介绍用excel软件设计的支票打印小应用,只需填入收款人、小写金额、内容3个项目即可实现打印支票的自动化,进行大写金额和大写日期的自动转化,记录已打印支票的各项信息,提供已用支票、未用支票张数,无空余支票提醒,无金额或无收款人时不执行打印等功能。

[关键词] excel软件;支票打印;应用

2003年7月的《

 2.2 大写日期的自动填写

我们需要定义一个新函数(大写日期),代码如下:

public function 中文日期(小写)

a=replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(小写, 0, "零"), 1, "壹"), 2, "贰"), 3, "叁"), 4, "肆"), 5, "伍"), 6, "陆"), 7, "柒"), 8, "捌"), 9, "玖")

select case len(小写)

case 2

if mid(小写, 2, 1) = 0 then

b = "零" & mid(a, 1, 1) & "拾"

else

b = mid(a, 1, 1) & "拾" & mid(a, 2, 1)

end if

case 1

b = "零" & mid(a, 1, 1)

end select

中文日期 = b

end function

通过上面的代码结合单元格式设置及其他公式就可以实现年月日的大写模式。wWW.11665.coM

2.3 支票信息管理

需要设计一个过程来实现支票信息管理,代码如下:

sub 打印支票()

sheets("支票打印").select

账号 = right(sheets("支票打印").cells(2, 14).value, 4)

select case 账号

case is = "0309"

判断 = 1

case else

判断 = 0

end select

if 判断 = 1 then

x = 1

do while not (isempty(sheets("开票信息").cells(x, 1).value))

x = x + 1

loop

x = range(cells(1, 2), cells(x, 2)).count

sheets("支票打印").select

’判断支票本数a,fp为支票信息启始行

支票类型 = sheets("支票打印").cells(1, 1).value

支票类型a = sheets("支票打印").cells(13, 1).value

支票类型b = sheets("支票打印").cells(20, 1).value

select case 支票类型’判断 number 的值。

case 支票类型a

y = 13

case 支票类型b

y = 20

end select

fp = y

do while not (isempty(sheets("支票打印").cells(fp, 2).value))

fp = fp + 1

loop

a = range(cells(y, 2), cells(fp - 1, 2)).count

’选择符合打印条件的数据,判断是否有备用支票

if sheets("支票打印").cells(8, 2).value = "" then

exit sub

else

’n为支票票信息启始行

日期 = sheets("支票打印").cells(7, 2).value

姓名 = sheets("支票打印").cells(8, 2).value

金额 = sheets("支票打印").cells(9, 2).value

用途 = sheets("支票打印").cells(10, 2).value

n = y

do while sheets("支票打印").cells(n, 11).value = 0

if n - y > a or n = 18 or n = 25 then

msgbox "没有备用支票"

’如果没有发票跳出程序

exit sub

else

n = n + 1

end if

loop

’输入发票信息

pjhm1 = val(mid(sheets("支票打印").cells(n, 2).value, 3, 10)) + val(sheets("支票打印").cells(n, 9).value)

pjhm2 = sheets("支票打印").cells(n, 2).value

pjhm3 = val(mid(sheets("支票打印").cells(n, 2).value, 3, 10))

pjhm = replace(pjhm2, pjhm3, pjhm1)

sheets("支票打印").cells(n, 9).value = val(sheets("支票打印").cells(n, 9).value) + 1

sheets("开票信息").cells(x, 2).value = 日期

sheets("开票信息").cells(x, 1).value = 姓名

sheets("开票信息").cells(x, 4).value = 用途

sheets("开票信息").cells(x, 3).value = 金额

sheets("开票信息").cells(x, 5).value = 支票类型

sheets("开票信息").cells(x, 6).value = pjhm

activewindow.selectedsheets.printout copies:=1, collate:=true

sheets("支票打印").cells(8, 2).value = ""

end if

x = x + 1

else

msgbox "本程序授权:龙泉市机关事务局", , "非法用户!请联系136××××5454"

application.displayalerts = false

thisworkbook.close

application.displayalerts = true

end if

end sub

由于篇幅所限,不再对每个语句作详细的解释。为保证由授权单位使用,在过程还增加了判断是否为合法单位的语句,可以删除该部分语句,不影响使用。

2.4支票套打

(1)将工作表1(sheet1)改名为“支票打印”,视图中的显示比例调整为125%。

(2)以浙江省的支票尺寸设置列宽及行高,其他省份如有不同需比照设置。

列宽:a(2.13)b(17.25)c(3.13)d(5.5)e(4.13)f(9.25)g(0.69)h(6.75)i(0.62)j(6.63)k(0.69)l(6)m(3.25)n-x(1.25)

行宽:1(24)2(14.25)3(13.5)4(22.5)5(14.25)6(13.5)7(16. 5)8(14.25)9(14.25)10(15)

以上尺寸除m列用来微调外,其他切勿调整!

(3)合并单元格:a1-b6;c1-e1;f1-g1;n1-x1;c2-d2;e2-k2;n2-x2;c3-d4;e3-l4;d5-g5(此处的合并是用来填用途的,如果觉得太窄可以向后多合并几个单元格);a11-l11;m11-x11;a12-b12;c12-f12;g12-h12;i12-j12;k12-l12;a13-a18;c13-f13;g13-h13;i13-j13;k13-l13;c14-f14;g14-h14;i14-j14;k14-l14;c15-f15;g15-h15;i15-j15;k15-l15;c16-f16;g16-h16;i16-j16;k16-l16;c17-f17;g17-h17;i17-j17;k17-l17;c18-f18;g18-h18;i18-j18;k18-l18;a19-b19,c19-f19;g19-h19;i19-j19;k19-l19;a20-a25;c20-f20;g20-h20;i20-j20;k20-l20;c21-f21;g21-h21;i21-j21;k21-l21;c22-f22;g22-h22;i22-j22;k22-l22;c23-f23;g23-h23;i23-j23;k23-l23;c24-f24;g24-h24;i24-j24;k24-l24;c25-f25;g25-h25;i25-j25;k25-l25。

(4)单元格填充色及字体颜色:a1-x25填充色选养眼点的(如灰色50%),其中b8-b10是日常使用时唯一需要填写的单元格,可以用其他容易识别的颜色,a1-a10;d2-d4;c5;l1-l2;q3-x3字体颜色选白色,其他单元格默认。

(5)单元格内容及公式:a1字体24号,黑体,有效性设置为序列,内容(其中逗号以半角英文格式下录入,双引号不需输入)输入:“现金支票,转账支票”;c1、a7填“出票日期”;c2、a8填“收款人”;c3填“人民币(大写)”;c5、a10填“用途”;a9填“金额”;l1填“付款行名称”;l2填“出票人账号”;o3-x3分别填:“仟”、“佰”、“拾”、“万”、“仟”、“佰”、“拾”、“元”、“角”、“分”。b7公式“=now()”,数字格式自定义“yyyymd”,b8如果收款人比较固定可以将有效性设置为序列,b10的用途内容也同理。b9数字格式为“■#,##0.00;■-#,##0.00”即“会计专用,2位小数,货币符号■”,f1公式“=now()”,数字格式自定义“[dbnum2]yyyy”,f2和f3需套用自定义函数,公式为“=中文日期(month(now()))”及“ =中文日期((day(now())))”。e2公式“=b8”,e3需套用自定义函数,公式为“=中文金额(b9)”,黑体16号字加粗缩小字体自适宜较合适,d5公式“=b10”,n1填对应开户行,n2填对应账号(账号尾号需为“0309”,要填其他账号可以将宏语句修改或删除),n4-x4用来提取小写金额对应位置的数字,宋体10号字加粗比较合适,公式如下:

n4为“=if(len("■"&■b■9*100)>10,mid("■"&■b■9*100,len("■"&■b■9*100)-10,1),"")”

o4为“=if(len("■"&■b■9*100)>9,mid("■"&■b■9*100,len("■"&■b■9*100)-9,1),"")”

p4为“=if(len("■"&■b■9*100)>8,mid("■"&■b■9*100,len("■"&■b■9*100)-8,1),"")”

q4为“=if(len("■"&■b■9*100)>7,mid("■"&■b■9*100,len("■"&■b■9*100)-7,1),"")”

r4为“=if(len("■"&■b■9*100)>6,mid("■"&■b■9*100,len("■"&■b■9*100)-6,1),"")”

s4为“=if(len("■"&■b■9*100)>5,mid("■"&■b■9*100,len("■"&■b■9*100)-5,1),"")”

t4为“=if(len("■"&■b■9*100)>4,mid("■"&■b■9*100,len("■"&■b■9*100)-4,1),"")”

u4为“=if(len("■"&■b■9*100)>3,mid("■"&■b■9*100,len("■"&■b■9*100)-3,1),"")”

v4为“=if(len("■"&■b■9*100)>2,mid("■"&■b■9*100,len("■"&■b■9*100)-2,1),"")”

w4为“=if(len("■"&■b■9*100)>1,mid("■"&■b■9*100,len("■"&■b■9*100)-1,1),"")”

x4为“=if(len("■"&■b■9*100)>0,mid("■"&■b■9*100,len("■"&■b■9*100),1),"")”

a11填“支票信息”;m11填“使用说明”;a12填“转账支票启始号”;a19填“现金支票启始号”;c12、c19填“支票结束号”;g12、g19填“份数”;i12、i19填“已用”;k12、k19填“未用”;a13填“转账支票”;a19填“现金支票”;b13-b18;c13-c18填入每本转账支票的开始号码和结束号码(号码前加符号“№”,只填号码中阿拉伯数字);b20-b25;c20-c25填入每本现金支票的开始号码和结束号码;g13公式为“=midb(c13,3,10)-midb(b13,3,10)+1”;g14-18、g20-25公式类推;k13公式为“=if(type(g13-i13)=1,(g13-i13),0)”; k14-k18、k20-k25公式类推。以上所有单元格无说明时采用左对齐,为防止误删,将有公式的单元格设置为保护锁定和隐藏。

(6)建立一个按钮,打开“视图”—工具栏-控件工具箱-命令按钮,将按钮大小覆盖c6-x10,名称为“务必点击此处打印”,字体及颜色要醒目,指定宏为原来设置好的“打印支票”,将宏格式设为:保护——锁定,属性——大小位置随单元格变化,打印对象为空。

(7)工作表2(sheet2)改名为“开票信息”,a1-f1分别填:“收款人”、“出票日期”、“金额”、“用途”、“支票类型”、“支票号码”。

(8)打印纸张的设置:点击桌面“开始”按钮—设置—控制面板,双击“打印机和传真”,在打开的窗口中空白处按右键,选择“服务器属性”,创建一个新格式纸张:尺寸为8cm×22.6cm(有的打印机可能要设置为22.6cm×8cm),然后回到工作表1 中进行打印预览,在页面设置中选择“选项”,再次创建和刚才同尺寸的纸张格式,回到页面设置选择创建的纸张,缩放比例用97%,方向需要根据不同打印机来选择,注意打印设置—工作表设置—按草稿打印选上,其他项都不选。

(9)测试阶段,将支票多复印几张,剪下(越精确越好),根据不同打印机横向或纵向放入进行打印,测试时无需通过设置的命令按钮“务必点击此处打印”来打印,根据误差来调整页面设置中的左边距和上边距,针式打印机还需调整进纸位置。还可以通过调整m列宽度来微调,直到完全吻合后,对宏进行密码保护,对工作表进行保护,对文件保存时最好也加上密码另存,宏的安全性选“中”,使用时选同意启动宏。

3小结

实际使用时,我们只要填b8(收款人),b9(小写金额),b10(用途),确定无误后点击按钮(一定要通过按钮)就可以了。收款人为空程序不会打印,无支票程序会提示,所有开票信息程序都会记录,便于查找。

软件只考虑了同一银行一个账户的情况,若有多个账户在宏语句中要稍作修改。

图1为工作表“支票打印”截图,图2为打印预览效果图。