基于Excel VBA编写可配置订购代码

(整期优先)网络出版时间:2022-12-16
/ 2

基于Excel VBA编写可配置订购代码

向莉华

长园深瑞继保自动化有限公司,广东 深圳 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页