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

问题描述 投票:-1回答:1

我正在使用/我已经开发了一个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

我到目前为止做了什么:

  • 在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

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

此致

excel vba excel-vba excel-2016
1个回答
3
投票

看起来你以错误的方式“导入”了文件: 您似乎复制并粘贴了文件的内容,而您应该做的是真正导入文件:

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.