首页 文章

从2010年导入后,宏不会在Excel 2016中编译

提问于
浏览
-1

我正在使用/我已经开发了一个用于Excel 2010的VBA加载项 . 加载项在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

我到目前为止做了什么:

  • 在Excel 2016中启用了宏的运行;

  • 在Excel的可信来源中添加我的xlam的位置;

  • 比较使用的资源:

Office 2010

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

有人建议如何处理我的问题?

此致

1 回答

  • 3

    看起来你"imported"文件错误的方式:
    您似乎复制并粘贴了文件的 contents ,而您应该做的是真正的 import 文件:

    要导入,请右键单击“项目窗口”,然后选择“导入文件...”

    导入这些线后......

    VERSION 1.0 CLASS   
    Attribute VB_Name = "ClsXXX"
    Attribute VB_GlobalNameSpace = False   
    Attribute VB_Creatable = False   
    Attribute VB_PredeclaredId = False   
    Attribute VB_Exposed = False
    

    不应再出现在代码中,但这些行在导入期间用作类名和属性 .

相关问题