小编DrM*_*use的帖子

条件编译的自动化错误

尝试加载Excel工作簿时发现奇怪的行为.

我有一个Excel-AddIn,用.NET Interop编写.它主要用于创建我自己的Ribbon-Tab,从菜单中加载工作簿并进行一些项目管理.

当我尝试使用两种方式打开工作簿时,我会得到不同的结果:

首先,当我从Addin中加载工作簿(Excel 2003-版本)时,一切正常.从功能区的Button-Event中,openWorkbook调用application.workbooks.open(...)加载项的公共函数,用于加载Excel工作簿.

这样,工作簿打开时没有错误.

其次,当我尝试使用以下代码从VBA中调用Addin-Function时:

Set addIn = Application.COMAddIns("WMExcelAddin1")
Set automationObject = addIn.Object
automationObject.openWorkbook (filename)
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:

编译错误

自动化错误

并且IDE在其中一个工作簿模块中第一次出现条件编译时停止,如下所示:

#const ebind = 0
[...]
sub proc1()

     #if ebind = 1 then         ' IDE Stops here
          [...]
     #else
          [...]
     #end if

end sub
Run Code Online (Sandbox Code Playgroud)

我试图使用布尔数据类型而不是具有相同效果的数字.

我的智慧结束了.

excel vba conditional-compilation excel-vba

9
推荐指数
1
解决办法
1008
查看次数

标签 统计

conditional-compilation ×1

excel ×1

excel-vba ×1

vba ×1