Excel VBA使用Delphi编写的ActiveX问题

文章主要讨论了ActiveX控件在Excel中添加后不显示内部组件以及属性不显示的问题。在设计模式下,ActiveX控件的内部组件不可见,需要切换到运行模式。如果属性未显示,可能是因为属性被设为隐藏或者未正确增加。解决方案包括更改属性隐藏设置,重新添加属性,或删除.exd临时文件以刷新控件属性列表。此外,文章还提到,在有选中单元格的情况下,ActiveX控件的输入组件可能会与Excel单元格的输入冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. ActiveX控件在添加到Excel上不显示其内部的可视组件。

Excel一般在【开发工具】->【设计模式】下添加ActiveX控件,此模式下添加的ActiveX控件不显示内部,如下图

只要换到正常运行模式即可显示内部控件,如下图

  1. ActiveX控件新增的属性不在Excel的控件属性列表中显示。

一种可能的原因是ActiveX控件新增的属性设定的是【隐藏】,那么只要在ActiveX的开发工具中将该属性变更成非隐藏属性即可。但隐藏属性应该不影响该属性在VBA中代码使用。

还有一种可能的原因是 ActiveX控件新增的属性并未实际增加,那么只能使用ActiveX的开发工具重新增加确保编译后的ActiveX的属性真正增加

还有一种可能是ActiveX控件新增的属性已经正确增加了,注册在系统中,其他调用此ActiveX控件的工具或是开发工具均可访问此新增属性,但Excel文件中的ActiveX控件属性列表中既不显示也不能在VBA代码中使用,可能会出现如下图所示

在左下方的控件属性列中不显示ActiveX控件新增的属性,但在右侧的对象浏览器中有 ActiveX控件新增的属性。这是Excel具有临时文件记忆控件,临时文件是以.exd为扩展名的,一般在C:\Users\【自身的用户名】\AppData\Local\Temp\Excel8.0下以ActiveX控件文件名+.exd文件,只要删除此文件,再打开Excel文件就会更新新的ActiveX控件属性列表,如下图所示

ActiveX控件新增的属性就会出现在控件属性列表中了。ActiveX控件新增的方法、事件回调函数都有此现象

3.ActiveX控件中存在文本框等输入组件,但添加到Excel后,当Excel中存在选中的单元格后,再鼠标选中ActiveX控件中存在文本框等输入组件进行键盘输入,但只能输入到Excel中的选中的单元格上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值