rel="File-List" href="file:///C:%5CDOCUME%7E1%5CI055960%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"> rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5CI055960%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_editdata.mso">
开发Excel Addin的环境是Office 2003 SP3. 开发完之后拷贝到其它环境,如2003 SP1, 2003SP2 or Office XP。如果插件是一打开就自动加载的话,会发现这么一个错误:
其实代码在SP3是正常执行的,可是为什么在其他版本就不能运行呢?在其他版本打开VBE进行调试,会一直发生这么个错误:
rel="File-List" href="file:///C:%5CDOCUME%7E1%5CI055960%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"> rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5CI055960%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_editdata.mso">
在查看tool->reference的时候,看到有这么一个Reference: Missing: Ref Edit Control .
原本以为这个reference的名字就是带有一个missing的,其实这是告诉我们这个reference不存在。但是奇怪的是该引用所在的位置的确存在这么一个dll: C:/Program Files/Microsoft Office/Office 11/RefEdit.dll.百思不得其解,网上发现有很多MVP指出这是Office 2003 SP3引入的一个bug。去掉该reference就可以正常运行了。:(
看样子,Microsoft犯错了,我们这些基于他开发的就别瞎折腾了。