长园深瑞继保自动化有限公司,广东 深圳 518057
摘要:常见的订购代码生成方式是通过手动编辑word、excel或其他工具完成,效率较低。使用Excel的VBA功能,将订购代码做成自动生成和管理,将大大提高处理效率,并减少错误发生概率。
关键字:订购代码,Excel VBA,自动生成和管理
第1页
0 引言
随着智能制造技术的不断发展,智能电子设备IED不断向可配置的智能化方向升级,硬件和软件的可配置选型内容变得越来越丰富,那么如何有效生成和管理订购代码就变得尤为重要。常见的订购代码生成方式是通过手动编辑word、excel或其他工具完成,效率较低。使用VBA功能,将订购代码做成自动生成和管理,将大大提高处理效率,并减少错误发生概率。
1 VBA宏概述
VBA是新一代标准宏语言,由微软公司开发出来,在其桌面应用程序中执行通用的自动化任务的编程语言[1],可以实现自动化、批量处理任务[2]。VBA 作为一种扩展工具,可以将许多复杂的操作简化,来自动完成重复的工作,并构建新功能。在Excel中创建宏有两种方法,即录制宏和用VBA语言编写宏代码。
在Excel2016中,利用“视图”选项卡中“宏”组中的“录制宏”按钮,在“录制新宏”对话框中,设置宏的名称、保存位置以及快捷键,再单击“确定”按钮,就可以开始宏录制,此时“录制宏”按钮状态变成了“停止制”,点击该按钮即可完成宏录制。宏录制好后,使用快捷键即可运行宏。录制的宏可以忠诚地记录Excel操作,但有其自身的局限性,如录制的宏不够智能化,无法交互工作,代码冗长,没有判断和循环能力,只能简单执行等,因此对于一些无法录制的复杂操作,就需要在VBE窗口中使用VBA代码直接编写,然后将宏分配给VBA对象,如按钮、图形、控件和快捷键等,这样执行宏就像点击按钮或快捷键一样简单。
3 VBA界面设计与实现
智能电子设备(Intelligent Electronic Device)IED数据类型通常包括设备类型、型号、硬件属性、软件属性、版本号等,其中硬件属性通常包含设备尺寸、电源、输入、输出、CPU等,软件属性常包含:应用场合、软件版本、语言、以及其他指标和参数等。
订购代码(Ordering Code)OC以工作簿方式呈现,其步骤为:根据常规需求在一个工作薄新建4个工作表,1是Code工作表,用于数据的最终选择和呈现;2是Data工作表,用于数据的最初定义;3是SWV,用于显示软件版本Software Version信息;4是Readme,用于说明具体操作方法。
硬件和软件属性通过下拉菜单实现。首先在Code工作表中定义Model,Code和Desc信息,分别用于显示具体内容:型号名称、订购号、属性描述和选择,其中用S表示Software,H表示硬件Hardware,Code的信息细分来源于Data工作表。
根据常用基本需求,本文添加必要的快捷控件完成跳转和选择:Reset控件:用于复归所有已经选择好的数据到未被选择的无效状态;Default控件:用于一键恢复为默认被选择状态;Search控件:用于生成数据编号查找功能;Copy控件:用于复制生成后的Code信息,包括保存或另存为等功能;版本号信息框等。通过界面设计后,使用VB编码实现具体功能。
在Data工作表中定义所有细分类型,本文以软件版本类型为例说明,如表1,假设有4种软件版本,分别用A,B,C,D等字母表示,分别对应Standard1~4,用*表示选择提示。
表1 软件版本类型
S2 | Software Version |
* | * Please select one from: |
A | A: Standard 1 |
B | B: Standard 2 |
C | C: Standard 3 |
D | D: Standard 4 |
在SWV工作表中定义功能,并通过勾选方式获得可能需要用到的功能,如表2所示:
表2 软件版本详细信息
Software | Version | 4 | Number | 5 |
Functions | Standard 1 | Standard 2 | Standard 3 | Standard 4 |
Function1 | √ | √ | ||
Function2 | √ | |||
Function3 | √ | √ | √ | |
Function4 | √ | |||
Function5 | √ | √ |
设计软件版本SWV功能界面,在工作表中增加窗体和控件:(1)窗体控件按钮Software,(2)添加“用户窗体SoftwareV”,标题为SWV,在窗体中添加选项按钮Standard 1~4、命令按钮OK、描述Description和提示Note,如图1所示。
图1 SWV界面示意图
使用上述功能并进行编码,在Code工作表中生成下拉菜单,当选择软件版本Software Version时,出现弹窗进行选择,被选类型对应的有效功能就显示为黑色,无效功能就显示为灰色,之后通过控件OK确认选择结果。
通过选择默认控件按钮后,生成的订购代码数据如图2所示:Code表示所需设备的型号、软件熟悉、硬件属性和版本号,具体对应Desc的各个选项。当使用者需要选择一种类型时,可采用Default控件一键完成默认配置,如果需要自定义所有属性时,可以Reset控件复归所有选型到无效,逐个完成选择。
图2 订购代码数据示意图
4 结语
通过上述设计和编码实现,即可完成一个典型订购代码的实现过程。将该功能封装为一个宏定义属性,使用者可不关心设计和编码过程,只需要根据需求选择即可,简化了常规通过手动编辑保存的繁琐流程,极大地提高了开发和管理效率;此外,使用者可以根据该原理扩展功能和属性,达到所需界面要求。现有设计属性可很好地应用于新型电力和能源系统,也可推广应用于其他领域。
参考文献
[1] 李小遐. Excel VBA 在办公自动化中的应用. 2014(22)
[2] 方 蓉. VBA技术在Excel表格数据统计中的应用. 2018(8)
第1页