VBA编程在治安管理上的工程应用 李朝明

发表时间:2021/7/8   来源:《基层建设》2021年第12期   作者:李朝明
[导读] 在Excel电子表基础上,深度开发VBA编程应用,设计《外来单位流动信息管理系统》

        VBA编程在治安管理上的工程应用
        李朝明
        四川广安发电有限责任公司  四川广安  638600
        摘要:在Excel电子表基础上,深度开发VBA编程应用,设计《外来单位流动信息管理系统》,实现了外来单位、人员、车辆进出厂区信息有效监控的新模式。系统开发以来运行良好,为厂区治安保卫的科学、精益管理提供了有效手段,夯实了安全生产基础。
        关键词:VBA编程;治安管理;工程应用


        引言
        当前国际国内形势复杂,加之繁重的技改、大小修等工程任务,某厂外来单位人员办理厂区出入通行证年度最多时达3300余人。无论是人员统计,单位查找,身份识别,还是籍贯甄别,这些庞大的流动群体一直是治安管理的重点和难点。
        1  管理需求
        作为保卫管理,掌握外来流动人员详细信息是管控的关键点,更全面的信息显示,更精准的筛查统计,更快速的信息采集和出入通行证办理,这些亦是高效管理的必要条件。根据实际,建立以下详细工程需求:
        (1)实现人员信息的全方位录入,如本人民族、照片、身份证信息采集。
        (2)可实时“动态调整”,批量退证、换证操作。
        (3)具有快速制作办理出入通行证功能。
        (4)具有统计、报表功能,特别是民族、籍贯进行检测筛查功能。
        (5)定置储存文档信息。
        2  使用工具
        基于Microsoft office软件平台,借助其内置VBA(Visual Basic for Applications)程序进行开发在保卫流动管理上的工程应用,操作文档深度融合,批量数据自动处理,文件管理高效保存,通过窗口化设计和交汇互答模式运用,“遥控”数据表,“改造”Excel,完美“变身”为一款自定义小型《外单位流动信息管理系统》软件。从而在显示、筛查、输出等方面极大地提高保卫管理效能。
        3 开发思路
        总的来说,系统主要是信息采集,数据整理,按需输出三个环节。在此基础上细化、优化,一是在认为相对安全的电脑盘符中建立目标文件夹,用于Excel文件和其他照片文档的定置存储,设置Excel快捷方式至桌面,以防止不经意删掉文档。二是通过VBA工程界面,按需求性质设置显示窗口(userform),自定义不同功能控键实现不同操作。三是设置账户级别,按需登陆,一般管理者只显示操作窗口,不显示源表,避免数据篡改和丢失,也可起到一定保密作用。
        4  工程设计
        点击Excel开发工具,进入VBA工程开发界面,分别设计用户登陆、信息采集,数据分析、证件制作等等显示交互窗口。由于程序代码繁多,限于篇幅,本次仅对人员信息采集和数据分析功能进行工程应用详细阐述,对个别VBA编码只做简单提及。
        4.1人员数据采集
        在信息添加窗口内设计相应文本输入、分项勾选、进出日期、图像和其他功能控件如图所示:

        (1)采集项目分析
        个人基础信息:选择民族项可查询各个民族人员在厂分布情况;联系方式、身份证及相应照片文档等便于查询用工年龄、籍贯、地址等,特别利于治安流动情况收集比对;
        个人用工信息:单位、工种、进出日期等利于追踪掌握用工准确信息;是否合同工便于统计查询工资支付等需要信息。
        (2)双击各个功能键,键入相应程序代码算法,达到相应目的。
        检测及证号查询功能:实现重复用工、年龄超限提示和厂区通行证编号自动跟踪作用。
        照片录入功能:制作扫描近照及身份证,利用VBA的文件提取(Application.FileDialog)方法精准提取办证人的近照和身份证电子版。
        检查完成添加功能:一是将各文本输入信息转入系统内置存储,二是利用VBA的文件检测(FolderExists)或文档检测(FileExists)方法判断目标文件夹内是否存在本年度、本单位、本人的照片文档,如未检测到则建立本年度、本单位、本人的照片文档进行保存。三是利用vba的字典(Dictionary)功能对录入数据实时筛选更新,便于系统程序调用。
        4.2 数据分析
        同理,创建数据分析窗口并按照功能、层组显示和个体显示三个大致划分区设计相应文本输入、分项勾选、查询起始日期、图像和其他功能控件如图所示:

        (1)筛查条件设置:按治安管理中每年更换通行证要求清理流动人员,因而存在日期间隔的选择;考虑籍贯和个人相关信息、用工信息等等,本工程共设置了15个查询条件。同时,根据不同需求,设计切换功能键转至相应查询或统计之中。
        (2)条件组态查询:以上多个条件都为待定的变量,要实现复杂综合查询并在层组区内显示,应对每个条件按键入内容进行前期设置,转为中间变量,如一般文本内容可利用VBA代码中的“*”+某条件内容+“*”来配置,键入日期为空则系统自动切为50年内计算,条件中有选择项的如“办证”、“退证”以及不同联系电话则设置不同代数模型以备内存数组(arr)的维度选择对应元素。
        前置变量时籍贯设置较为复杂。首先应在源中预置国家籍贯对应的身份证前6位编码表,并通过网络查询录入各个籍贯对应的不同旧编码,如“四川省广安市广安区”对应旧编码就有4个;其次,将所有籍贯和编码信息导入相应内存数组后与键入的籍贯条件逐一比对,编码相同则保留在一代数模型中作为籍贯条件的中间变量;第三,若未输入籍贯查询则用VBA代码中“*”忽略,但必须在执行比较(like)运算语句时前后置换此中间变量。同理,单位和姓名条件变量利用相同原理进行编码组态。根据实际需求,开发籍贯、单位、姓名实现并列输入查询,这是本工程主要亮点。
        以上完成后,根据切换键功能将对应源表中目标数据导入内存数组(arr)中,建立循环(for..next)查询,每个循环中,使用判断(if..then)语句,再嵌入各数组元素和对应条件进行比较(like)匹配并用逻辑与(and)连接的语句,逐一查询比对,若各个条件均满足则输出一新的数组,通过列表(listview)控件在层组区显示出来。
        (3)生成报表:对于条件查询后的列表结果,可按类别、明细和籍贯等功能选项进行分项统计,生成对应报表。首先将列表内容导入数组,然后根据设定功能不同,利用VBA的字典中关键字(Key)和条目(Item)方法进行循环统计,其结果生成新数组在层组区显示。
        (4)个体显示:如果只是层组区显示则无法查看个体详细信息。要实现信息一目了然应先建立相应文本框控件,再利用列表(listview)控件的(SelectedItem)方法实现单击层组区某行,则将对应信息导出到对应文本框内,根据选定元素年份、单位等内容设计图片提示路径,通过文件检测(FileExists)和图像加载(LoadPicture)方法将照片显示出来。
        (5)修订信息:对于个体信息,往往存在输入失误或照片更换等情况,此时,文本框直接修订,照片通过文件提取更换后,通过“保存”功能键代码实现精确定位修改,图像保存(SavePicture)方法将更新照片保存在目标文件夹内。
        (6)批量操作:事实上,每年定期清理退换证期间,成百上千次重复操作是在所难免的,为此,设计批量操作,先在层组区内勾选待定退换证人选后,点击功能键弹出退/换证对应窗口,利用列表控件显示已勾选人员进行再次确认,如有误选则删除再次更新窗口,检查无误后点击退/换证按钮控件则对选定人员全部更新信息,人员照片等也复制到对应文件内保存,较好地避免了重复操作。
        (7)导出文件:为更加详细分析信息,可根据不同筛选目的,将层组区内容导出Excel文件至桌面进行多表直接比对。
        5  工程应用
        5.1 应用于某厂外委流动监控。
        通过软件使用,一是方便快捷办理外单位流动人员的出入证件;二是精准统计查询相关信息,确保流动管理可控、在控。三是一旦发生保卫事件可以精确跟踪掌控信息。
        5.2 应用于企地治安联防预警防范
        地方公安随时抽查厂区流动人员,尤其是涉僵、涉藏人员更为敏感。在当前国际国内反恐形势不容乐观的情形下,通过此系统来加强流动管理,特别是在信息掌握,预警研判方面上占据了较大主观优势。
        5.3 可以保存多年数据文档,方便数据比对,年度管理分析。
        6  结语
        系统的工程应用实现了厂区流动人员的实时监控,有效的数据信息掌握使保卫管理更加精细,也使治安防范措施制定更科学、更全面,夯实了安全生产基础。

投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: