VBA赋能业务日志可视化:WebBrowser控件打造数字大屏

vbahomevbahome 编程知识 1周前 154 0

VBA赋能业务日志可视化:WebBrowser控件打造数字大屏

没错,视频演示的就是vba系统中集成的数字大屏!

这个大屏主要展示的是ERP系统的操作日志,包括操作类型,操作对象,操作耗时情况以及各个时间段的操作热度。

当然,展示这些信息的前提是要把这些信息记下来,这首先需要创建操作日志表,表结构如下:

VBA赋能业务日志可视化:WebBrowser控件打造数字大屏

然后需要在相关业务逻辑处进行埋点:截图例子即为在操作提交按钮时将操作相关的对象写入数据库和本地日志文件。

VBA赋能业务日志可视化:WebBrowser控件打造数字大屏

下面重点讲一下写入数据库的方法,从上面的代码可以看出,首先自定义了一个变量类型来封装操作相关的属性。

VBA赋能业务日志可视化:WebBrowser控件打造数字大屏

通过一个日志类的log方法将封装好的操作日志入库。

VBA赋能业务日志可视化:WebBrowser控件打造数字大屏

当这些基础的数据有了,具体如何展示才随心所欲,是用数字大屏。还是纯粹的报表抑或是直接展示数据库内容,看你的心情和客户预算了。

VBA赋能业务日志可视化:WebBrowser控件打造数字大屏

方式一

VBA赋能业务日志可视化:WebBrowser控件打造数字大屏

方式二

很显然,方式二的逼格显得更高,展示的维度更丰富,数据价值的挖掘更深入。

接下来讲一讲方式二的实现方式。首先需要补一下软件开发中的C/S和B/S架构的一点基础知识,以下是某AI给出的答案,很容易理解:

用大白话说,C/S 和 B/S 的区别,本质上就是“装软件”和“开网页”的区别。

C/S 架构(客户端/服务器)

关键词:装软件、重体验、难维护

  • 是什么:你得先在电脑或手机上下载安装一个专门的软件(比如微信、QQ、原神),这个软件就是“客户端”,它直接连到远处的“服务器”拿数据。

  • 优点:因为软件装在你本地,能直接调用电脑的显卡、内存,所以运行快、体验好、功能强(大型游戏、专业设计软件都离不开它)。

  • 缺点:每台设备都得装,升级维护很麻烦——软件更新了,所有用户都得重新下载安装包。而且不同系统(Windows、Mac、手机)还得分别开发不同版本。

B/S 架构(浏览器/服务器)

关键词:开网页、免安装、易维护

  • 是什么:你不用装任何东西,打开浏览器(或微信小程序),输入网址就能用。所有的逻辑和数据都在服务器上,浏览器只负责“显示”和“操作”。

  • 优点:零安装、跨平台,电脑手机都能开;升级超省事——服务器端改一次,所有用户刷新页面就生效了。

  • 缺点:受浏览器限制,性能和体验不如 C/S(比如复杂3D游戏、大型视频剪辑在网页里就跑不动);而且必须联网才能用。

一句话总结

  • C/S = 装个App,体验爽但维护累(适合重体验、高频使用的工具/游戏)。

  • B/S = 开个网页,免安装但性能有限(适合轻量、需要快速迭代的业务系统)。

现实中很多产品是混合的:比如微信既有装在本地的客户端(C/S),里面打开的小程序又是网页(B/S)。

回到正题,VBA做的系统属于C/S架构,但是数字大屏需用B/S架构,即搭建服务(笔者使用的node.js脚手架),通过网页来展示冷冰冰的数字显得更有温度,因为网页的渲染效果更多样,插件更丰富。

搭建的服务目录如图:

VBA赋能业务日志可视化:WebBrowser控件打造数字大屏

对于B/S架构的应用来说,必须确保服务始终开启才能确保系统始终可用。

下面的黑窗口如果关了,就意味着服务停止了,大屏就打不开了

VBA赋能业务日志可视化:WebBrowser控件打造数字大屏

在服务开启的情况下可以用任何浏览器通过服务地址+端口打开

VBA赋能业务日志可视化:WebBrowser控件打造数字大屏

但通过浏览器打开vba系统日志显得有些割裂,如果把网页嵌入到vba窗体才算是无缝衔接,这可以使用WebBrowser控件来实现,不过因为该控件是上古时期的产品,在兼容性方面有点差强人意,需要做一些特殊处理会更好用。如强制使用IE11标准,屏蔽不兼容时的的一些错误,避免弹出阻断体验等等(见下图)

VBA赋能业务日志可视化:WebBrowser控件打造数字大屏

至此,通过上面的步骤即可实现文首视频展示的效果,你也去试试吧。


版权声明

本文系作者原创作品,未经许可,不得转载。

喜欢0发布评论

评论列表

发表评论

  • 昵称(必填)
  • 邮箱
  • 网址
  • 验证码(必填)