Pab*_*blo 2 vb6 winapi vba access-vba
我有VBA MS Access表单代码,我输入以下函数声明:
Public Declare Function GetUserName Lib "advapi32.dll" () Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Run Code Online (Sandbox Code Playgroud)
但是我收到了错误Alias.我是否必须添加一些引用才能使用它?
不,没有特殊的库需要使用Alias; 这都是语言中的内容.
但你的声明是错误的.您之前放置了一组额外的括号,Alias这会使编译器混乱.
除了纯语法,第二个参数(nSize)实际上是一个指针到一个Long,这意味着需要将其通过ByRef在VBA.
所以修改后的声明看起来像这样,而是:
Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, ByRef nSize As Long) As Long
Run Code Online (Sandbox Code Playgroud)
如果函数成功,则返回值为1;如果失败,则返回0.