开发在Excel中使用的ActiveX控件时的注意事项--exd 临时文件问题

问题:

当你在开发一个ActiveX控件过程中,无疑你会不断地在各个测试环境中调试你的控件。其中Excel或者其他的Office应用程序也是一个必不可少的测试环境,但是你有没有发现即使你在你的控件中新增了一些新的属性或对属性改名了,你在Excel的对象属性窗口(Developer Tap->插入你的 Activex 控件->Enable 'Design Mode'->右击你的 Activex控件->弹出属性窗口)根本看不到对应的变化?


分析:

借助OLEView查看一下已实现的控件库信息,其中对应的信息与代码是一致的。然后把控件放至VB窗口中,对应的控件属性窗口把所有的属性都正常显示出来了。沮丧!大哭

不过在通过OleView查看控件的时候,发现对应我写的控件库,其中有三条同名信息,如下图:

ActiveX Excel Exd


在逐个检查后发现,其中一条是跟Excel是相关的,嗯--很可疑!


解决问题:

网上查找了关于exd文件的说明以及stackoverflow上类似的问题,貌似exd文件是一个临时的文件用于保存控件类型信息。果断地删除之,再打开之前包含测试控件的Excel文档,打开对应的属性窗口--所有的最新属性都如我所愿的展现在我的面前。


参考:

Tips for control developers

The first time you insert a control into a Visio drawing, VBA creates a "merged type library" for the control and stores it in your Temp folder in a file with an .exd file name extension. If you subsequently modify the control, delete the EXD file before attempting to insert the control again. If you receive an error message when you insert a control after modifying it, you can delete the cached EXD file to correct the problem.

http://msdn.microsoft.com/zh-cn/library/aa201800


名称解释:

exd 文件:cached versions of the control type libraries


思考&问题:

这个问题看似简单,其实还是因为自己对VSTO或者Office开发编程还不甚了解。如果大家了解更多Office控件开发的方法,请大家多给建议。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值