ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 661|回复: 8

[求助] vba代碼自動更新升級問題

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-11-18 11:55 | 显示全部楼层 |阅读模式
場景:
一個綜合大辦公室,大約260人,同個局域網,約一半以上的同事需要用到我寫的vba,有些用戶的需求會時不時變更或新增,vba代碼也要同步頻繁更新,每次更新后都是利用郵箱傳送過去用戶電腦上,或者u盤拷過去給用戶電腦上,或者我把改寫好的程式放在局域網共享盤上,用戶自己下載到本地電腦運行即可。


痛點:
總結了一下,日常就這三種方法來維護和更新vba程式,這幾年vba開發項目很多,每當測試時候,就覺得更新代碼很麻煩(用戶不知道我把程式放在哪個目錄,已經更新過的程式最新的版本是哪個,不知道我啥時候已經完成修改了。。。。。。。等等一系列溝通問題)


尋求解決方案:
請教各位老師,有不有一套自動升級的辦法?以及具體實施辦法?
(比如發現用戶機器上的vba版本過低,自動去公共盤下載最新版本覆蓋本身.....比如自動提示用戶去某處下載某程式.......比如..........)

TA的精华主题

TA的得分主题

发表于 2022-11-18 11:59 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2022-11-18 12:24 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2022-11-18 13:09 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
放在web服务端就行了,xmlhttp去抓一下 版本 字符串 ,如果 大于本地版本,xmlhttp下载xlsm文件覆盖原来的文件即可

TA的精华主题

TA的得分主题

发表于 2022-11-18 13:10 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
zpy2 发表于 2022-11-18 13:09
放在web服务端就行了,xmlhttp去抓一下 版本 字符串 ,如果 大于本地版本,xmlhttp下载xlsm文件覆盖原来的 ...

如何需要代码版本控制,建议上传到 gitee或者github

TA的精华主题

TA的得分主题

发表于 2022-11-18 13:49 | 显示全部楼层
新建个excel,比如启动文件,在启动文件里面 复制或者下载替换老的文件,然后打开需要用到的表。最后设置个启动文件的快捷方式到桌面。每次要用就打开找个快捷方式

TA的精华主题

TA的得分主题

发表于 2022-11-18 14:20 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我是这么做的:所有的vba代码都写在一个xlam文件内,平常放在 C:\Users\aaa\AppData\Roaming\Microsoft\AddIns,excel 启动自动加载。更新VBA代码的时候,替换此文件就可以。

更新替换的方法有几个:1 创建自解压文件,发给使用者,运行后,自动解压替换上面目录内的文件。2 用exe写了个本地升级程序,放开机启动项内,开机会检测,有升级就复制文件替换,不升级就退出3 使用Windows域部署,要条件。

TA的精华主题

TA的得分主题

发表于 2022-11-18 15:54 | 显示全部楼层
image.jpg image.png

自己开发的版本控制。只提供思路,不提供代码
企业级的规模还是推荐服务器数据库,我用的是mysql

1、这一套只适用于有单独的账户登录系统。用户在登录时可判断更新还是不更新。

2、点击发布按钮直接将本地文件上传的数据库。
3、不同的版本类型,在用户登录时将判断用户权限,目前有beta测试版和lts发行版。
4、普通用户权限lts发行版,在登陆时通过过滤 字段[是否在用]=是,字段[是否发布]=是,字段[版本类型]=lts 获取版本名称,如果版本一致则登录,不一致则更新。其他类型的用户权限也是一样的道理。
5、推荐开发者可以无限制登录。登录时不判断版本名称。这样方便后期登录旧版本排除bug。
6、把更新的日志添加到版本明细中,这样在更新时,可以通过解析明细把更新日志展示给用户,方便用户知道更新了哪些内容。和主流的app一样的方式。也可以在列表中查看旧版的更新记录。记录明细是量化工作的表现。
7、当用户更新时,文件是从数据库直接下载到本地。下载完成后,打开新版本,并把当前版本文件属性改为只读,然后kill删除旧版本文件。这样新版本更新后,在用户的界面是无感知的,只知道点击了更新之后,等了几秒钟文件就已经更新好了。
8、还是强调一下:只提供思路,不提供代码 。有兴趣可以自己研究。这是我在发布了四十多个版本得出来的经验。


TA的精华主题

TA的得分主题

发表于 2022-11-21 17:13 | 显示全部楼层
所有文件和版本号保存到数据库或服务器,做一个客户端,根据本地的文件清单和版本号查询更新。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 00:26 , Processed in 0.042211 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表