
01
在笔者做MatoVBA这个产品的时候,涉及到大量的数据逻辑处理与分析,必须结合关系型数据库(mysql)才能做到,无形中加重了实现的过程。
对于相对简单,但多少还有些关系型数据特征的场景,有没有更轻一些的实现方式呢?
当然有,文件数据库就是其中的一种。
02
文件数据库
顾名思义,文件数据库就是用文件的形式扮演数据库的角色,在与用户交互过程中支持数据的增删改查,相对于在excel工作簿实现的方式更隐僻,更偏后台,且受到的约束更少、更小。
当然,文件数据库支持的场景不会太复杂,且多用于单机版,对应用的支持程度取决于开发者实现的巧妙程度。
它就是把需要配置或反复使用的一些类似字典的数据以文件的形式存放到用户终端,在用户打开excel或执行操作的时候实时的从文件把数据读出来展现,用户若有修改,再把修改后的数据保存到文件,主逻辑处理过程中再把文件的内容读取到数组或者字典备用,从而达到对数据增删改查的目的。
03
举个例子
我们模拟这样一种场景:
某码头需要对进出水的船舶进行管理,每一个泊位对进出船舶的最大进出水量和最大载重量都有明确要求,当收到船舶数据的时候,需要提前对根据标准进行检测,快速标出不符合标准的船舶和泊位,那这个检测标准的数据就可以以文件数据库的形式存储起来,并支持对标准数据进行增删改查操作。

04
设计思路
在使用Excel进行数据处理的时候,往往有固定模板,固定格式之类的约束,特别是程式化的场景。
对于上面的例子,待检测的船舶数据往往是第三方发过来的,格式统一,但来自多方,想要更灵活地进行检测操作,最方便的方式是做成菜单,融入Excel菜单体系,在用户的体验上更自然。
菜单应该至少有两个,一个用来设置检测标准,一个用来检测数据。
可以通过窗体用于检测标准的设置。
05
实现方式
窗体样式:

菜单样式:

整体效果:

06
知识点总结
1、文件写操作(写之前先判断是否打开,若打开则先关闭才能写)

2、文件读操作(将文件内容读入到数组)

3、文件存在性判断

4、自定义菜单

07
写在最后
当笔者的同学提出他的苦恼的时候,基于多年来对excel和VBA的了解,我认为他的苦恼完全没有必要。
果断的向他提出了这个建议,并勇敢地、毫不犹豫地基于同学情谊承担了实现它的工作。
vx:IT云水客

分享交流
一起前进
不迷路!
THE
END

扫码
关注




