StrPtr函数

excel中VarPtr、StrPtr 和 ObjPtr 函数的用法
一、发展历史在 Basic 语言演变成 QBasic,然后到 Visual Basic 之前,VarPtr 函数就已经存在了。开始,这个函数存在于 VB 运行库 1.0 版中。通过声明可以调用这个函数: Declare Function VarPtr Lib "vbrun100.dll" (Var As Any) As Long数年之后,vbrun100.dll 变成了 msvbvm50.dll,但该函数的入口点却还在那儿。为了获取变量的地址,只须将变量名传递给该函数就行了。例如: Dim l As Long Debug.Print VarPtr(l)类似地,为了获取字符串的指针,而非保存字符串的变量的指针,只须在变量名前加上 ByVal 即可。如: Debug.Print VarPtr(s),VarPtr(ByVal s)在VB3之前,用这种方法来获取字符串缓冲的指针是非常普遍的。但在VB4却遇到了一点麻烦。ANSI/UNIDCODE问题这种差异是如何影响 VarPtr 函数的呢?当一个字符串传递给 VarPtr 函数时,函数执行后所返回的地址是保存临时ANSI 字符串的临时 ANSI 字符串 或变量的地址。换句话说,这个地址并不是你声明的变量的真正地址。因此,对于字符串变量以及包括字符串的结构来讲,这个函数一点用也没有。VB5来解决问题为了能VarPtr能重新发挥作用,VB5 加入了三个针对 VBA 类型库的入口点。这些入口点为 VarPtr 函数提供了内置的声明。这三个函数的作用是:VarPtr:返回变量地