我正在使用/我已经开发了一个VBA加载项以在Excel 2010中使用。加载项在2010年按预期运行。但是,在Excel 2016中,一个宏刷新了此加载项菜单上的可用选项,根据打开的电子表格类型,不会更新。我已经重新检查了代码,内容与2010年相同。如果我尝试在2016年重新编译代码的某些部分,我会收到编译错误。
标记为红色为错误的代码例如:
VERSION 1.0 CLASS
Attribute VB_Name = "ClsXXX"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
我到目前为止做了什么:
Visual Basic for Applications C:\ PROGRA~2 \ COMMON~1 \ MICROS~1 \ VBA \ VBA7 \ VBE7.DLL Microsoft Excel 14.0对象库C:\ Program Files(x86)\ Microsoft Office \ Office14 \ EXCEL.EXE OLE自动化C:\ Windows \ SysWOW64 \ stdole2.tlb Microsoft Office 14.0对象库C:\ Program Files(x86)\ Common Files \ Microsoft Shared \ OFFICE14 \ MSO.DLL
办公室2016年
Visual Basic for Applications C:\ PROGRA~2 \ COMMON~1 \ MICROS~1 \ VBA \ VBA7.1 \ VBE7.DLL Microsoft Excel 16.0对象库C:\ Program Files(x86)\ Microsoft Office \ Office16 \ EXCEL.EXE OLE自动化C:\ Windows \ SysWOW64 \ stdole2.tlb Microsoft Office 16.0对象库C:\ Program Files(x86)\ Common Files \ Microsoft Shared \ OFFICE16 \ MSO.DLL
有人建议如何处理我的问题?
此致
看起来你以错误的方式“导入”了文件: 您似乎复制并粘贴了文件的内容,而您应该做的是真正导入文件:
要导入,请右键单击项目窗口,然后选择导入文件...
导入这些线后......
VERSION 1.0 CLASS
Attribute VB_Name = "ClsXXX"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
不应再出现在代码中,但这些行在导入期间用作类名和属性。