excel - #if、#else、#end if 中的井号是什么意思?

标签 excel vba conditional-statements

我正在编写代码来检查文件是否可以从 SharePoint 中 check out ,如果不能,则提醒用户并告诉他们该文件已被其他人使用以及谁正在使用该文件.

我在http://www.xcelfiles.com/IsFileOpen.html#anchor_37处发现了一段代码

该代码似乎可以在测试场景中工作,因此我计划根据我的目的对其进行调整。我无法理解某些语法。

#If Not VBA6 Then

'// Xl97

For i = j - 1 To 1 Step -1

    If Mid(strXl, i, 1) = Chr(0) Then Exit For

Next

i = i + 1

#Else

'// Xl2000+

i = InStrRev(strXl, strFlag1, j) + Len(strFlag1)

#End If

我明白代码的作用,但我不明白“#”符号的含义。

另一个例子:

hdlFile = FreeFile

Open strPath For Binary As #hdlFile

strXl = Space(LOF(hdlFile))

Get 1, , strXl

Close #hdlFile

谷歌搜索很痛苦,因为它太模糊了。

最佳答案

哈希符号代表预处理器命令,这些命令在编译之前进行处理,本质上生成动态/条件代码。这些类型的命令通常用在 C/C++ 等语言中来管理跨平台编程技术。常见的用法是检查特定环境或平台(即 VBA、Windows、MacOSX 等),然后实现特定于平台的代码。

http://en.wikipedia.org/wiki/Preprocessor

关于excel - #if、#else、#end if 中的井号是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6325486/

相关文章:

sql - 在SSIS中的foreach循环中评估带有空格的excel工作表名称

vba - 为什么输入 Worksheets ("Sheet1") 后没有出现 Intellisense。?

vba - 使用宏记录器记录长 Excel 公式时出现问题

VBA 调试 : Step Into leads to Entire Program Running

excel - 将 5 个工作表中的数据导出到 5 个文本文件中

mysql if 条件加值 else 加值1

vba - 计时器函数并通过回调生成事件

Excel:总结非连续单元格数组中的N个最大数字

python - 重新评估/更新在 Python 中作为类变量传递的条件表达式的真值的最佳方法

javascript - 执行操作后复选框条件渲染 - ReactJS