VBA 64位API声明语句第010讲

article/2025/6/8 19:48:39

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

这讲我们继续学习VBA 64位API声明语句第010讲,这些内容是MS的权威资料,看似枯燥,但对于想学习API函数的朋友是非常有用的。

【分享成果,随喜正能量】162 修行,不是让你什么都顺,而是让你知道为什么不顺?心里执着的多,磨难就越多,越想得到什么,就会失去什么。修行,不是等待菩萨来救赎,而是需要自渡,去向内求,提升自己的内在认知,修正自己的贪、嗔、痴、慢、疑,圆满自己,利益他人。

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

End Type

Type EXIT_THREAD_DEBUG_INFO

dwExitCode As Long

End Type

Type EXIT_PROCESS_DEBUG_INFO

dwExitCode As Long

End Type

Type LOAD_DLL_DEBUG_INFO

hFile As LongPtr

lpBaseOfDll As LongPtr

dwDebugInfoFileOffset As Long

nDebugInfoSize As Long

lpImageName As LongPtr

fUnicode As Integer

End Type

Type UNLOAD_DLL_DEBUG_INFO

lpBaseOfDll As LongPtr

End Type

Type OUTPUT_DEBUG_STRING_INFO

lpDebugStringData As String

fUnicode As Integer

nDebugStringLength As Integer

End Type

Type RIP_INFO

dwError As Long

dwType As Long

End Type

' GetDriveType return values

Const DRIVE_REMOVABLE = 2

Const DRIVE_FIXED = 3

Const DRIVE_REMOTE = 4

Const DRIVE_CDROM = 5

Const DRIVE_RAMDISK = 6

Const FILE_TYPE_UNKNOWN = &H0

Const FILE_TYPE_DISK = &H1

Const FILE_TYPE_CHAR = &H2

Const FILE_TYPE_PIPE = &H3

Const FILE_TYPE_REMOTE = &H8000&

Const STD_INPUT_HANDLE = -10&

Const STD_OUTPUT_HANDLE = -11&

Const STD_ERROR_HANDLE = -12&

Const NOPARITY = 0

Const ODDPARITY = 1

Const EVENPARITY = 2

Const MARKPARITY = 3

Const SPACEPARITY = 4

Const ONESTOPBIT = 0

Const ONE5STOPBITS = 1

Const TWOSTOPBITS = 2

Const IGNORE = 0 ' Ignore signal

Const INFINITE = &HFFFFFFFF ' Infinite timeout

' Comm Baud Rate indices

Const CBR_110 = 110

Const CBR_300 = 300

Const CBR_600 = 600

Const CBR_1200 = 1200

Const CBR_2400 = 2400

Const CBR_4800 = 4800

Const CBR_9600 = 9600

Const CBR_14400 = 14400

Const CBR_19200 = 19200

Const CBR_38400 = 38400

Const CBR_56000 = 56000

Const CBR_57600 = 57600

Const CBR_115200 = 115200

Const CBR_128000 = 128000

Const CBR_256000 = 256000

' Error Flags

Const CE_RXOVER = &H1 ' Receive Queue overflow

Const CE_OVERRUN = &H2 ' Receive Overrun Error

Const CE_RXPARITY = &H4 ' Receive Parity Error

Const CE_FRAME = &H8 ' Receive Framing error

Const CE_BREAK = &H10 ' Break Detected

Const CE_TXFULL = &H100 ' TX Queue is full

Const CE_PTO = &H200 ' LPTx Timeout

Const CE_IOE = &H400 ' LPTx I/O Error

Const CE_DNS = &H800 ' LPTx Device not selected

Const CE_OOP = &H1000 ' LPTx Out-Of-Paper

Const CE_MODE = &H8000& ' Requested mode unsupported

Const IE_BADID = (-1) ' Invalid or unsupported id

Const IE_OPEN = (-2) ' Device Already Open

Const IE_NOPEN = (-3) ' Device Not Open

Const IE_MEMORY = (-4) ' Unable to allocate queues

Const IE_DEFAULT = (-5) ' Error in default parameters

Const IE_HARDWARE = (-10) ' Hardware Not Present

Const IE_BYTESIZE = (-11) ' Illegal Byte Size

Const IE_BAUDRATE = (-12) ' Unsupported BaudRate

' Events

Const EV_RXCHAR = &H1 ' Any Character received

Const EV_RXFLAG = &H2 ' Received certain character

Const EV_TXEMPTY = &H4 ' Transmitt Queue Empty

Const EV_CTS = &H8 ' CTS changed state

Const EV_DSR = &H10 ' DSR changed state

Const EV_RLSD = &H20 ' RLSD changed state

Const EV_BREAK = &H40 ' BREAK received

Const EV_ERR = &H80 ' Line status error occurred

Const EV_RING = &H100 ' Ring signal detected

Const EV_PERR = &H200 ' Printer error occured

Const EV_RX80FULL = &H400 ' Receive buffer is 80 percent full

Const EV_EVENT1 = &H800 ' Provider specific event 1

Const EV_EVENT2 = &H1000 ' Provider specific event 2

' Escape Functions

Const SETXOFF = 1 ' Simulate XOFF received

Const SETXON = 2 ' Simulate XON received

Const SETRTS = 3 ' Set RTS high

Const CLRRTS = 4 ' Set RTS low

Const SETDTR = 5 ' Set DTR high

Const CLRDTR = 6 ' Set DTR low

Const RESETDEV = 7 ' Reset device if possible

Const SETBREAK = 8 'Set the device break line

Const CLRBREAK = 9 ' Clear the device break line

' PURGE function flags.

Const PURGE_TXABORT = &H1 ' Kill the pending/current writes to the comm port.

Const PURGE_RXABORT = &H2 ' Kill the pending/current reads to the comm port.

Const PURGE_TXCLEAR = &H4 ' Kill the transmit queue if there.

Const PURGE_RXCLEAR = &H8 ' Kill the typeahead buffer if there.

Const LPTx = &H80 ' Set if ID is for LPT device

' Modem Status Flags

Const MS_CTS_ON = &H10&

Const MS_DSR_ON = &H20&

Const MS_RING_ON = &H40&

Const MS_RLSD_ON = &H80&

' WaitSoundState() Constants

Const S_QUEUEEMPTY = 0

Const S_THRESHOLD = 1

Const S_ALLTHRESHOLD = 2

' Accent Modes

Const S_NORMAL = 0

Const S_LEGATO = 1

Const S_STACCATO = 2

' SetSoundNoise() Sources

Const S_PERIOD512 = 0 ' Freq = N/512 high pitch, less coarse hiss

Const S_PERIOD1024 = 1 ' Freq = N/1024

Const S_PERIOD2048 = 2 ' Freq = N/2048 low pitch, more coarse hiss

Const S_PERIODVOICE = 3 ' Source is frequency from voice channel (3)

Const S_WHITE512 = 4 ' Freq = N/512 high pitch, less coarse hiss

Const S_WHITE1024 = 5 ' Freq = N/1024

Const S_WHITE2048 = 6 ' Freq = N/2048 low pitch, more coarse hiss

Const S_WHITEVOICE = 7 ' Source is frequency from voice channel (3)

Const S_SERDVNA = (-1) ' Device not available

Const S_SEROFM = (-2) ' Out of memory

Const S_SERMACT = (-3) ' Music active

Const S_SERQFUL = (-4) ' Queue full

Const S_SERBDNT = (-5) ' Invalid note

Const S_SERDLN = (-6) ' Invalid note length

Const S_SERDCC = (-7) ' Invalid note count

Const S_SERDTP = (-8) ' Invalid tempo

Const S_SERDVL = (-9) ' Invalid volume

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




http://www.hkcw.cn/article/lQGHXFdouc.shtml

相关文章

【鸿蒙】HarmonyOS NEXT之如何正常加载地图组件

1、不支持模拟器,需要真机! 2、Map地图需要在AGC上申请权限,需要在AGC上创建对应的项目 地址: AppGallery Connect 2.1 AGC中项目创建 2.1.1 添加项目 2.1.2 起个名字 2.1.3 添加应用: 2.1.4 选择HarmonyOS APP&…

精美的软件下载页面HTML源码:现代UI与动画效果的完美结合

精美的软件下载页面HTML源码:现代UI与动画效果的完美结合 在数字化产品推广中,一个设计精良的下载页面不仅能提升品牌专业度,还能显著提高用户转化率。本文介绍的精美软件下载页面HTML源码,通过现代化UI设计与丰富的动画效果&…

3. 简述node.js特性与底层原理

😺😺😺 一、Node.js 底层原理(简化版) Node.js 是一个 基于 Chrome V8 引擎构建的 JavaScript 运行时,底层核心由几部分组成: 组成部分简要说明 1.V8 引擎 将 JS 编译成机器码执行&#xff0…

【后端高阶面经:架构篇】51、搜索引擎架构与排序算法:面试关键知识点全解析

一、搜索引擎核心基石:倒排索引技术深度解析 (一)倒排索引的本质与构建流程 倒排索引(Inverted Index)是搜索引擎实现快速检索的核心数据结构,与传统数据库的正向索引(文档→关键词&#xff0…

LayoutLM 模型文章总结

模型处理的文本图片样例: LayoutLM,一种简单而有效的文本和布局预训练方法,用于文档图像理解任务。BERT模型中输入的文本信息主要通过文本嵌入和位置嵌入来表示,LayoutLM 增加了两种输入嵌入: (1) 二维位置嵌入&…

低成本单节电池风扇解决方案WD8001

功能说明 1 、充电参数: 5V/500mA ,满电 4.2V ,充电指示灯为 LED4 ,充电亮, 满电熄灭; 2 、工作电压: 2.7---4.2V,BAT 电压低于 2.7V ,芯片禁止输出; 3 、工作说明&a…

6个月Python学习计划 Day 13 - 文件操作基础

第一周 Day 1 - Python 基础入门 & 开发环境搭建 Day 2 - 条件判断、用户输入、格式化输出 Day 3 - 循环语句 range 函数 Day 4 - 列表 & 元组基础 Day 5 - 字典(dict)与集合(set) Day 6 - 综合实战:学生信息…

解决IDEA插件使用Lombok找不到符号问题

https://juejin.cn/post/7013998800842784782 -Djps.track.ap.dependenciesfalse

应用智能化转型—MCP原理分析

当下AI风头正盛,许多行业都已经进入AI赋能的道路,无论是服务业、工业、还是软件行业。本篇文章我将以软件的智能化转型之MCP原理分析为主题讲解其具体实现方案 MCP我们都知道是一个当下非常火的模型上下文协议,它可以搭建出模型与业务之间的…

【R语言编程绘图-mlbench】

mlbench库简介 mlbench是一个用于机器学习的R语言扩展包,主要用于提供经典的基准数据集和工具,常用于算法测试、教学演示或研究场景。该库包含多个知名数据集,涵盖分类、回归、聚类等任务。 包含的主要数据集 BostonHousing 波士顿房价数据…

兼容老设备!EtherNet/IP转DeviceNet网关解决储能产线通讯难题

在新能源行业飞速发展的当下,工业自动化水平的高低直接影响着企业的生产效率与产品质量。JH-EIP-DVN疆鸿智能ETHERNET/IP和DEVICENET作为工业领域常用的通信协议,它们之间的转换应用在新能源生产线上发挥着关键作用。本文重点探讨ETHERNETIP从站转DEVICE…

实验设计与分析(第6版,Montgomery著,傅珏生译) 第10章拟合回归模型10.9节思考题10.12 R语言解题

本文是实验设计与分析&#xff08;第6版&#xff0c;Montgomery著&#xff0c;傅珏生译) 第10章拟合回归模型10.9节思考题10.12 R语言解题。主要涉及线性回归、回归的显著性、残差分析。 10-12 vial <- seq(1, 12, 1) Viscosity <- c(26,24,175,160,163,55,62,100,26,30…

【Ragflow】25.Ragflow-plus开发日志:excel文件解析新思路/公式解析适配

引言 RagflowPlus v0.3.0 版本中&#xff0c;增加了对excel文件的解析支持&#xff0c;但收到反馈&#xff0c;说效果并不佳。 以下测试文件内容来自群友反馈提供&#xff0c;数据已脱敏处理。 经系统解析后&#xff0c;分块效果如下&#xff1a; 可以看到&#xff0c;由于该…

SoloSpeech - 高质量语音处理模型,一键提取指定说话人音频并提升提取音频清晰度和质量 本地一键整合包下载

视频教程&#xff1a; 一个强大的语音分离和降噪软件 SoloSpeech 是由约翰霍普金斯大学、香港中文大学、南洋理工大学、清华大学及布拉格理工大学等多所高校共同主导开源的一个创新的语音处理项目&#xff0c;旨在解决在多人同时说话的环境中&#xff0c;准确提取并清晰呈现特定…

解锁Java多级缓存:性能飞升的秘密武器

一、引言 文末有彩蛋 在当今高并发、低延迟的应用场景中&#xff0c;传统的单级缓存策略往往难以满足性能需求。随着系统规模扩大&#xff0c;数据访问的瓶颈逐渐显现&#xff0c;如何高效管理缓存成为开发者面临的重大挑战。多级缓存架构应运而生&#xff0c;通过分层缓存设…

WinRAR 6.24 (64-bit) 的详细安装步骤(适用于 Windows 系统)

1. 下载安装文件 WinRAR下载链接&#xff1a;https://pan.quark.cn/s/7cc02bd4ebb5 2. 运行安装程序 双击下载的 WinRAR-6.24-final-x64.exe 文件。 若出现 用户账户控制&#xff08;UAC&#xff09; 弹窗&#xff0c;点击 “是” 允许安装。 3. 设置安装选项 ① 选择安装路…

YOLO12 改进|融入 Mamba 架构:插入混合模块Hybrid Module 像素和补丁双层面进行交互学习,提升小目标 多尺度

图像修复需平衡局部纹理还原与全局语义连贯。传统 CNN 受限于感受野&#xff0c;难以建模长程依赖&#xff1b;Transformer 虽能捕获全局交互&#xff0c;但二次计算复杂度使其在高分辨率场景效率低下&#xff0c;且分块处理易丢失细节。Mamba 作为高效序列模型&#xff0c;可线…

LangChain4j之AiService源码分析

这一节我们主要理解的逻辑为&#xff1a; 代理对象的创建流程代理对象的方法执行流程 代理对象的创建流程 创建代理对象是通过AiServices.create(Coder.JavaCoder.class, model)进行的&#xff0c;由于AiServices是一个抽象类&#xff0c;源码中有一个默认的子类DefaultAiSer…

多合一箱变保护测控装置,助力箱变实现“无人值守,少人值班”

箱式变压器&#xff08;简称“箱变”&#xff09;将传统变压器集中设计在箱式壳体中&#xff0c;因其结构紧凑、安装简单、运行稳定等优势被广泛应用于光伏及风电系统。但是&#xff0c;由于箱变安装位置偏远且分散、运行环境恶劣&#xff0c;箱内设备种类多、需要实时掌握运行…

国际Modelica协会主席Dirk Zimmer博士到访同元软控,共话Modelica技术未来

5月28日&#xff0c;国际Modelica协会主席Dirk Zimmer博士到访同元软控苏州总部&#xff0c;双方围绕Modelica技术未来发展与开放生态建设&#xff0c;展开了深入的探讨与交流。 左&#xff1a;Modelica协会主席Dirk Zimmer博士 右&#xff1a;同元软控董事长周凡利 01 Dirk …