我正在编写一些代码,用于检查文件是否可以从SharePoint中检出,如果不是,则提醒用户并告诉他们该文件正由其他人使用,以及谁是否正在使用它。
我在这个网站上遇到了一段代码: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
我确信这有一个非常明显的答案,但这是谷歌的一个痛苦之一因为它是如此模糊。 :(
非常感谢,
啪
答案 0 :(得分:29)
哈希符号表示预处理程序命令,它们是在编译之前处理的命令,主要生成动态/条件代码。这些类型的命令通常用于诸如C / C ++之类的语言中,以管理跨平台编程技术。常见的用法是检查特定环境或平台(即VBA,Windows,MacOSX等),然后实现特定于平台的代码。
答案 1 :(得分:4)
哈希表明它是一个指令。 用于从字面上包括或排除编译中的代码。
对于vb.net而言,哎呀那不是吧。我认为相同的概念。答案 2 :(得分:2)
公认的答案是正确的,因为您的第一个代码示例是编译指令。
值得一提的是,如果其他人遇到这个问题,您的第二个代码示例是另一回事。在这种情况下,这些是用于标识文本流的文件编号。您将在以下命令的上下文中看到它们。它们与编译器指令完全无关。
打开“ c:\ test.txt”,输入为#hdlFile 输入#hdlfile 打印#hdlfile 写#hdlfile 关闭#hdlfile