当前位置: 首页 > news >正文

VBA 64位API声明语句第018讲

跟我学VBA,我这里专注VBA, 授人以渔。我98年开始,从源码接触VBA已经20余年了,随着年龄的增长,越来越觉得有必要把这项技能传递给需要这项技术的职场人员。希望职场和数据打交道的朋友,都来学习VBA,利用VBA,起码可以提高自己的工作效率,可以有时间多陪陪父母,多陪陪家人,何乐而不为呢?我的教程一共九套,从入门开始一直讲到程序的分发,是学习利用VBA的实用教程。这份API资料是随高级教程赠送的。这些内容是MS的权威资料,看似枯燥,但对于想学习API函数的朋友是非常有用的。

这讲我们继续学习VBA 64位API声明语句第018讲

【分享成果,随喜正能量】我们对父母孝顺,这是天经地义的孝心,对儿女的关心,也是理所当然的慈心。但是,我们要更扩大对一切有情的爱,能以孝顺父母、慈爱儿女的心,来关心天下的一切众生,如此对众生的付出自然毫无悭吝,毫无计较。​​​

VBA 64位API声明语句第018讲

Const FORMAT_MESSAGE_ALLOCATE_BUFFER = &H100

Const FORMAT_MESSAGE_IGNORE_INSERTS = &H200

Const FORMAT_MESSAGE_FROM_STRING = &H400

Const FORMAT_MESSAGE_FROM_HMODULE = &H800

Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000

Const FORMAT_MESSAGE_ARGUMENT_ARRAY = &H2000

Const FORMAT_MESSAGE_MAX_WIDTH_MASK = &HFF

Declare PtrSafe Function CreatePipe Lib "kernel32" Alias "CreatePipe" (phReadPipe As LongPtr, phWritePipe As LongPtr, lpPipeAttributes As SECURITY_ATTRIBUTES, ByVal nSize As Long) As Long

Declare PtrSafe Function ConnectNamedPipe Lib "kernel32" Alias "ConnectNamedPipe" (ByVal hNamedPipe As LongPtr, lpOverlapped As OVERLAPPED) As Long

Declare PtrSafe Function DisconnectNamedPipe Lib "kernel32" Alias "DisconnectNamedPipe" (ByVal hNamedPipe As LongPtr) As Long

Declare PtrSafe Function SetNamedPipeHandleState Lib "kernel32" Alias "SetNamedPipeHandleState" (ByVal hNamedPipe As LongPtr, lpMode As Long, lpMaxCollectionCount As Long, lpCollectDataTimeout As Long) As Long

Declare PtrSafe Function GetNamedPipeInfo Lib "kernel32" Alias "GetNamedPipeInfo" (ByVal hNamedPipe As LongPtr, lpFlags As Long, lpOutBufferSize As Long, lpInBufferSize As Long, lpMaxInstances As Long) As Long

Declare PtrSafe Function PeekNamedPipe Lib "kernel32" Alias "PeekNamedPipe" (ByVal hNamedPipe As LongPtr, lpBuffer As Any, ByVal nBufferSize As Long, lpBytesRead As Long, lpTotalBytesAvail As Long, lpBytesLeftThisMessage As Long) As Long

Declare PtrSafe Function TransactNamedPipe Lib "kernel32" Alias "TransactNamedPipe" (ByVal hNamedPipe As LongPtr, lpInBuffer As Any, ByVal nInBufferSize As Long, lpOutBuffer As Any, ByVal nOutBufferSize As Long, lpBytesRead As Long, lpOverlapped As OVERLAPPED) As Long

Declare PtrSafe Function CreateMailslot Lib "kernel32" Alias "CreateMailslotA" (ByVal lpName As String, ByVal nMaxMessageSize As Long, ByVal lReadTimeout As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES) As LongPtr

Declare PtrSafe Function GetMailslotInfo Lib "kernel32" Alias "GetMailslotInfo" (ByVal hMailslot As LongPtr, lpMaxMessageSize As Long, lpNextSize As Long, lpMessageCount As Long, lpReadTimeout As Long) As Long

Declare PtrSafe Function SetMailslotInfo Lib "kernel32" Alias "SetMailslotInfo" (ByVal hMailslot As LongPtr, ByVal lReadTimeout As Long) As Long

Declare PtrSafe Function MapViewOfFile Lib "kernel32" Alias "MapViewOfFile" (ByVal hFileMappingObject As LongPtr, ByVal dwDesiredAccess As Long, ByVal dwFileOffsetHigh As Long, ByVal dwFileOffsetLow As Long, ByVal dwNumberOfBytesToMap As LongPtr) As LongPtr

Declare PtrSafe Function FlushViewOfFile Lib "kernel32" Alias "FlushViewOfFile" (lpBaseAddress As Any, ByVal dwNumberOfBytesToFlush As LongPtr) As Long

Declare PtrSafe Function UnmapViewOfFile Lib "kernel32" Alias "UnmapViewOfFile" (lpBaseAddress As Any) As Long

Declare PtrSafe Function lstrcmp Lib "kernel32" Alias "lstrcmpA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long

Declare PtrSafe Function lstrcmpi Lib "kernel32" Alias "lstrcmpiA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long

Declare PtrSafe Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long

Declare PtrSafe Function lopen Lib "kernel32" Alias "_lopen" (ByVal lpPathName As String, ByVal iReadWrite As Long) As Long

Declare PtrSafe Function lclose Lib "kernel32" Alias "_lclose" (ByVal hFile As Long) As Long

Declare PtrSafe Function lcreat Lib "kernel32" Alias "_lcreat" (ByVal lpPathName As String, ByVal iAttribute As Long) As Long

Declare PtrSafe Function llseek Lib "kernel32" Alias "_llseek" (ByVal hFile As Long, ByVal lOffset As Long, ByVal iOrigin As Long) As Long

Declare PtrSafe Function lread Lib "kernel32" Alias "_lread" (ByVal hFile As Long, lpBuffer As Any, ByVal wBytes As Long) As Long

Declare PtrSafe Function lwrite Lib "kernel32" Alias "_lwrite" (ByVal hFile As Long, ByVal lpBuffer As String, ByVal wBytes As Long) As Long

Declare PtrSafe Function hread Lib "kernel32" Alias "_hread" (ByVal hFile As Long, lpBuffer As Any, ByVal lBytes As Long) As Long

Declare PtrSafe Function hwrite Lib "kernel32" Alias "_hwrite" (ByVal hFile As Long, ByVal lpBuffer As String, ByVal lBytes As Long) As Long

Declare PtrSafe Function TlsAlloc Lib "kernel32" Alias "TlsAlloc" () As Long

Const TLS_OUT_OF_INDEXES = &HFFFFFFFF

Declare PtrSafe Function TlsGetValue Lib "kernel32" Alias "TlsGetValue" (ByVal dwTlsIndex As Long) As LongPtr

Declare PtrSafe Function TlsSetValue Lib "kernel32" Alias "TlsSetValue" (ByVal dwTlsIndex As Long, lpTlsValue As Any) As Long

Declare PtrSafe Function TlsFree Lib "kernel32" Alias "TlsFree" (ByVal dwTlsIndex As Long) As Long

Declare PtrSafe Function SleepEx Lib "kernel32" Alias "SleepEx" (ByVal dwMilliseconds As Long, ByVal bAlertable As Long) As Long

Declare PtrSafe Function WaitForSingleObjectEx Lib "kernel32" Alias "WaitForSingleObjectEx" (ByVal hHandle As LongPtr, ByVal dwMilliseconds As Long, ByVal bAlertable As Long) As Long

Declare PtrSafe Function WaitForMultipleObjectsEx Lib "kernel32" Alias "WaitForMultipleObjectsEx" (ByVal nCount As Long, lpHandles As LongPtr, ByVal bWaitAll As Long, ByVal dwMilliseconds As Long, ByVal bAlertable As Long) As Long

当学员学习到高级阶段,如果引用API,这个资料可以直接查到64位写法。大多数情况下我们是将低版本的程序文件升级到高版本,这时您就不必为如下的错误提示所困扰了:

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

http://www.jsqmd.com/news/433020/

相关文章:

  • Lotus扩散模型深度估计精研
  • Mask2Former实例分割实战:Swin大模型解析[特殊字符]
  • 【电力系统】MARS模型参考自适应、SMO滑模观测器永磁同步电机对比仿真模型
  • 保险公司做养老有什么优势?从大家保险“城心2.0”看服务体系构建
  • 大数据领域分布式计算的技术峰会亮点
  • INI 文件超详细入门到实战教程
  • MGM-Omni-TTS语音模型入门指南 [特殊字符]
  • C# .NET 周刊|2026年1月4期
  • 基于MPC模型预测改进PMSM-MRAS模型参考自适应无感观测仿真
  • MioCodec音频编解码器:高效语音处理新方案
  • 交期慢?质量参差?成本高?一文讲清供应商全生命周期管理!
  • BPE分词器实现
  • 新鲜出炉!2026徐汇专家推荐服务优的宠物医院排行,狗狗耳道内窥镜检查/宠物绝育/狗狗隐睾绝育,宠物医院专家找哪个 - 品牌推荐师
  • 主机清单和ad-hoc
  • 2026年3月光纤激光切管机厂家推荐,资质案例售后机构深度解读 - 品牌鉴赏师
  • 折扣影票api接口对接的详细操作指南
  • Mask2Former-Swin城市景观数据集图像分割模型[特殊字符]
  • 11个免费开源后台管理系统模板
  • Mask2Former图像分割全攻略:从Swin架构到COCO实战应用 [特殊字符]
  • 刷榜冠军秒变“删库侠“?揭秘AI基座模型失控的惨烈真相!
  • Docker Desktop(详细使用流程)
  • 游戏人物移动效果对应实际刷新率对比与Client-side Prediction Interpolation调整优化
  • DeepSeek V4,下周正式登场!
  • Mask2Former图像分割技术解析[特殊字符]
  • 2026年3月手持激光焊机厂家推荐,产能专利环保三维数据全面透视 - 品牌鉴赏师
  • 【无人机编队】基于人工势场算法的多无人机复杂障碍物环境下的自主避障与路径规划附Matlab代码
  • Benchmark:大数组随机访问,和取模乘法
  • 【机器人】四足机器人+正运动设计+逆运动学解算+步态设计Matlab程序
  • 降AI工具年度盘点:2026上半年哪些工具值得续费? - 还在做实验的师兄
  • 2026年3月市场青睐的超高压反应釜厂商,速来了解,深海设备水压测试/等静压设备,超高压反应釜厂家口碑推荐 - 品牌推荐师