APP下载

基于Execl VBA的一个企业工艺通知单程序设计

2016-07-13解明才

大科技 2016年8期
关键词:通知单程序开发格式化

解明才

(云南省通海县教师进修学校 云南玉溪 652799)

基于Execl VBA的一个企业工艺通知单程序设计

解明才

(云南省通海县教师进修学校 云南玉溪 652799)

随着各行各业的管理数字化,对数据的处理能力要求也越来越高,明显Excel力不从心,VBA的出现使得Excel重新强大起来。学习一定的VBA语言以后,可以为平时的数据处理提供一个良好的开发环境,也可以自己进行程序设计。

Excel;VBA;数据处理;印刷企业;程序设计

VBA是什么呢?VBA的全称是Visual Basic for Application。VBA是Microsoft Visual Basic的应用程序版本,它集成在office组件之中。由于VBA的出现,使Office形成了独立的编程环境。

VBA最简单的应用就是自动执行重复的操作。比如在Excel中,我们要格式化月报表,格式化表格,设置字体、添加边框等等,这些重复的操作,如果使用VBA代码的话,我们可以让过程自动化,为我们节省很多时间。VBA还可以进行复杂的数据分析对比,以及使用VBA生成一些非常漂亮的、复杂的报表和图表;除了这些,VBA还可以定制个性化用户界面。

作为Excel来说,提供了一个固定的用户界面,我们也可以借助VBA定制用户界面。VBA并不是孤立的存在于Excel等某个软件之中。VBA是集成在offic组件之中,在VBA中可以使office组件协同工作。VBA虽然不是专业的程序开发语言,但它也可以应用于Excel的二次开发,市面上也有不少商用的Excel应用程序就是使用VBA开发出来的。

1 方案制定

该企业工艺通知单一年大概1000张左右,对于专业的数据库来说,这样的数据量算非常小,没必要选用专业数据库,又考虑到这张通知单样式企业已经用了好几年了,是用Excel2003做的,不想改变原来的样式,所以索性决定用原来的样式进行加工设计,让操作者用起来不至于感到陌生,而且Excel的单张电子表格可以保存255×65536个单元格的数据,完全可以满足企业的需要,而且考虑到后期的数据维护,Excel用户操作很熟悉,数据备份也很简单,直接拷贝一个文件就是备份,并且只要电脑里装有微软的OFFICE套装软件,程序就能运行,方便携带和传递使用,可以说,基本的小型软件开发选用EXCEL+VBA是非常不错的方案。

2 数据分析

为了提高数据录入的速度和有效性,针对通知单的各项数据进行进一步分析,制定完成任务的方法。

(1)产品编号。由于原来企业就有自己的产品编号规则:年+月+编号,如:201404001,这规则是当年+当月+当月编号,这个编号是通知单的唯一编号,不允许重复,如果是手工录入的话很简单,但会出现重复的情况,而且进行数据查询的时候也是要对这个数据进行唯一检索,为了提高录入的效率和唯一性,决定进行程序自动编号。

(2)产品名称。不是唯一性,用户自由录入。

(3)用户单位。用户可以自行录入,但考虑到录入的速度和名称的一致性,决定设计程序对以前录入的用户名称进行不重复模糊查询供用户选择后快速录入,也就是智能匹配。

(4)交货时间、开单时间:利用Excel自带的日历控件供用户选择,但交货这个时间只需要月和日,所以必须对日历进行格式化,去掉年,格式化程序代码为:Format(Calendar1.Value,“m月d日”)。

(5)薄膜种类、类型、制表人、接件、审核。这几个项目会根据企业调整进行增减,考虑制作一个字典表格,供操作者自己进行维护,然后用Excel自带的有效性进行匹配选择。

(6)印刷色系和工艺流程。这两个项目的内容是固定的,不同的是每个产品的项目有多有少,所以考虑设计窗体供用户根据实际情况进行选择。这样的好处是用户可以快速的进行录入,而且保持内容的一致性。

(7)其他项目。其他项目基本都是由用户自行根据情况录入。

(8)查询。数据管理最重要的一个环节就是可以进行数据的查询,对以前的数据进行快速的数据检索,把用户需要的数据查询并显示出来。在本程序中,设计了一个单独的查询窗体,用户可以选择查询的项目,并录入查询的关键字就可以以列表的方式把需要的记录显示出来,然后在列表数据中双击任意一条记录,就可以把数据完整的显示在通知单中,供用户进行再次使用。

(9)打印。通知单数据录入好以后或者需要的数据查找出来以后,就可以进行打印区域的设置并打印输出了。

3 VBA代码编写(略)

要进行VBA代码的编写,首先要进入代码编写平台,这个平台是Excel自带的,进入的方法是单击“工具”→“宏”→“Visual Basic编辑器”,这个平台俗称VBE编辑平台。

由于篇幅原因,代码省略。

4 数据保护

程序调试完成后,最后的工作是进行数据的保护。为了不让用户对表格和一些数据进行更改,需要对程序进行一些基本的保护。比如单元格的锁定,能否选定,能否编辑等等,还有一些表格是不需要用户看见的,可以隐藏等设置都需要开发者进行设置。另外,为防止用户对代码进行改动,需要对代码也进行密码保护,只有提供密码,才能对VBA代码进行编辑。

5 结论

Excel的确是一个数据处理的好工具,但随着数据需求的不断变化,简单的单元格、函数处理根本不能满足需求,对于一般的小型管理软件,不编写程序是达不到要求的,幸好微软的开发人员考虑到了这个问题,捆绑了VBE平台,只要肯学习,多做实例,很快就能驾驭这个工具,为我们的工作需要服务。笔者就是通过网上的论坛进行学习的,搞不通的地方就发个贴,很多高手会很热情的帮助解决。通过这个程序的设计,学到了很多知识,也对EXCEL下VBA代码有了更深一步的掌握。但是程序设计的过程当中也发现了一些用Excel进行程序开发的不足,例如:没有控件数组,在有多个相同控件的时候代码很多,不能用数组处理;文件的保存问题,由于代码和数据库是在同一个文件中,如果程序非正常关闭,一切数据都会丢失等问题,但总的来说,Excel+VBA的方式已经可以帮助我们进行简单的程序设计和开放,对于一般用户已经足够了。

[1]网络论坛www.excelhome.net.

[2]Excelhome团队.《Excel应用大全》.人民邮电出版社,2012,02.

[3]Excelhome团队.ExcelVBA实战技巧精粹(修订版).人民邮电出版社,2013,01.

[4]罗刚君.ExcelVBA程序开发自学宝典(第2版).电子工业出版社,2011,08.

TP311.5

A

1004-7344(2016)08-0278-01

2016-2-22

猜你喜欢

通知单程序开发格式化
两份田租通知单:慈善是社会发展的重要保障
两份田租通知单
国家标准勘误更正通知单
现代人守则:昏死之前请把手机格式化
浅析大学生在兼职小程序开发中遇到的问题
APP应用程序开发模式探究
基于嵌入式系统Windows CE的应用程序开发
基于App inventor 2手机程序开发过程的学习与实——以“喵喵定时器”APP开发为例
格式化