任何一个稍复杂的程序都不是从0开始的,都是从库(函数库或类库)搭建起来的。
在Excel VBA中,你可以调用工作表的函数、VBA函数、可以引用用户自己定义的函数或过程。除此以外,还可以调用Windows API库的函数。
Windows API是Windows编程人员可以使用的一套函数。在VBA模块中引入某个库的函数后,便可直接调用这个Windows函数。
引入Windows API库的某个函数需要在模块的顶点声明,如
Declare PtrSafe Function GetWindowsDirectoryA Lib "kernel32" _
(ByVal lpBuffer As String, ByVal nSize As Long) As Long
declare:在模块级用于声明对动态链接库(DLL)中的外部过程的引用;
PtrSafe:同时兼容Excel的32位和64位版本;
GetWindowsDirectoryA:函数名,可以VBA过程或函数中调用;
"kernel32":表示上述函数所在的动态库(DLL);
该函数参数lpBuffer:返回Windows所在目录名称;
该函数参数nSize:Windows所在目录名称的字符串长度包含在此参数中;
如果代码模块是UserFor、Sheet或ThisWorkbook的代码模块,就必须用Private关键字声明这个API函数。
实例:
Option Explicit#If VBA7 And Win64 Then Declare PtrSafe Function GetWindowsDirectoryA Lib "kernel32" _ (ByVal lpBuffer As String, ByVal nSize As Long) As Long#Else Declare Function GetWindowsDirectoryA Lib "ker

本文介绍了如何在Excel VBA中调用Windows API库的函数。通过`Declare`语句,可以声明并使用DLL中的函数,例如`GetWindowsDirectoryA`函数,从而访问Windows系统的底层功能。了解如何声明函数,设置参数,并理解`PtrSafe`关键字对于兼容32位和64位版本的Excel至关重要。

1万+

被折叠的 条评论
为什么被折叠?



