首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Excel版本的条件编译

基于Excel版本的条件编译
EN

Stack Overflow用户
提问于 2013-01-29 18:39:06
回答 2查看 3.5K关注 0票数 5

我知道我可以在VBA中使用条件编译来区分64位和32位版本(使用#If VBA7 Then ...)。

是否也有一个类似于Application.Version的常量构建,以便我可以区分Excel2013/2010/2007/...等在编译时?

另外,是否有可用的现有编译器常量的列表?到目前为止,我找到了VBA7Win64 (例如,来自this的文章)--但是还有其他的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-29 18:53:40

this link中,您具有以下常量:

代码语言:javascript
复制
VBA6
VBA7
Win64
Win32
Win16
Mac
票数 5
EN

Stack Overflow用户

发布于 2021-04-03 03:37:20

不是针对所质疑的版本粒度,但我需要将特定于Office 365/XL16的代码与其前身分开。VBA7向后兼容VBA6,而VBA6对VBA7一无所知。我们可以利用这一点作为我们的优势。

代码语言:javascript
复制
Sub testit()
#If VBA6 And VBA7 Then
   Debug.Print "Cool!" 'XL16 vba code
#Else
   Debug.Print "Yeah!" 'Not XL16 vba code
#End If
End Sub

XL14和更低的值将#If视为true/false,XL16作为true/true。如果只是#If VBA7,XL14会尝试编译XL16代码。我不知道为什么,但这就是它的测试方式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14580969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档