ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创] VBA代码助手2.0/VBE中随时随地收藏及插入代码/免费开源/2.0更新加入工具条菜单

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-8-4 13:32 | 显示全部楼层
本帖已被收录到知识树中,索引项:VBE工具
liucqa 发表于 2014-8-4 12:46
关于vba使用vb控件的兼容性问题,其实是没办法用简单方式解决的。

问题的原因出在微软方面。

目前我在不同环境写了几个版本的 大部分人找到对应版本应该可以用了
想更多人兼容怕是只能把控件拿出来放在自己安装目录然后在vba里注册和引用这个确定的控件
这样也只多一个文件 不影响本身xla
我试试看这个方法先

TA的精华主题

TA的得分主题

发表于 2014-8-4 13:00 | 显示全部楼层
每次回帖、谢谢!辛苦了。

TA的精华主题

TA的得分主题

发表于 2014-8-4 12:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
百度哥作品,非常厉害,好用!

TA的精华主题

TA的得分主题

发表于 2014-8-4 12:46 | 显示全部楼层
本帖最后由 liucqa 于 2014-8-4 13:04 编辑

关于vba使用vb控件的兼容性问题,其实是没办法用简单方式解决的。

问题的原因出在微软方面。

有两种情况会导致此类问题的发生:
1、操作系统中压根就没有需要的控件
2、机器上有需要的控件,但控件被自动升级

第一种情况可以通过制作安装包,在安装时自行注册vb 安全补丁所带的最新版本的控件来解决,也可以手工注册解决。
第二种情况就很麻烦,某些机器安装的是老版本的控件,随着微软的自动升级,在某一天被升级成了新版本的控件,导致程序不能运行。实际上,即使是第一种情况也不能避免微软会由于安全性而再次升级控件(虽然可能性很小了)
因此,老程序员都会说,不到万不得已,绝对不要使用操作系统或者别的什么人提供的第三方控件,能自己写的都自己写。只不过这对开发费用来说是个很大的挑战。

当然,如果我们是使用VB、Delphi之类的语言来开发的话,也可以自己打包自己用到的控件,不使用操作系统里面的控件,这样就不会有冲突问题了。所谓的安装包的一个作用就是为了解决此类问题的。当然,操作系统升级导致的兼容性问题依然存在,而且无法解决。因此开发程序才有维护一说,随着操作系统的升级,程序版本也要升级的。

考虑到VBA的能力,要避免DLL升级导致引用错误的问题,恐怕只能使用后期绑定来避免冲突了(ADO常见此类绑定),当然,如果用到控件的话,控件也要改成动态创建。只要控件的接口和方法属性之类的不变,程序就能正确执行。只是至今为止,我没有见到过谁实现了这种后期绑定的编程。

实际上,从软件开发的角度来说,微软还是推荐采用其他的语言来给Excel开发插件,VBA不适合做复杂的工作,或者说VBA只适合做能力范围之内的工作。
如果我们一定要让VBA调用其他控件来扩展其能力的话,那就得忍受VBA开发带来的不便了。



类似C#之类的托管语言,已经解决了DLL冲突的问题,这也是未来业余程序员的发展方向,呵呵
如果你愿意的话,可以用VBA调用自己写的C#的控件来实现相同功能嘛




**********************************

还有一个思路,用代码打开对工程的信任,然后用代码自动引用操作系统中的控件版本,不过,我不赞成这么干








TA的精华主题

TA的得分主题

发表于 2014-8-4 12:45 来自手机 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-8-4 12:05 | 显示全部楼层
waΙT_yΟU 发表于 2014-8-4 11:13
还真猜不出密码。。。。谁猜出来了告诉一下

这么难么.....首字母啊

TA的精华主题

TA的得分主题

发表于 2014-8-4 11:13 | 显示全部楼层

RE: vba密码提示:百度不到去谷歌,猜不出来自行面壁

还真猜不出密码。。。。谁猜出来了告诉一下

点评

是中文每个字的声母  发表于 2014-8-4 12:10
ZWDDYGPYZM 中文的第一个拼音字母  发表于 2014-8-4 12:09

TA的精华主题

TA的得分主题

发表于 2014-8-4 10:59 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
非常不错,学习了,如果能把treview这个控件的兼容问题也解决了,就非常的完美了!

TA的精华主题

TA的得分主题

发表于 2014-8-4 10:35 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2014-8-4 10:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
FatSu 发表于 2014-8-4 09:57
百度君原来是在偷偷蓄积大招啊

俺是来看肥苏滴
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-15 14:48 , Processed in 0.047752 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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