64位Office API声明语句第112讲

news/2025/2/12 7:57:36/

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

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

332888e1435f7c2161d55114f8029e16.jpeg

【分享成果,随喜正能量】如果我们真的有在平时认真的去修行,随着我们的修行时间的变化我们自己的你相貌也会随之改变的,风度变了、仪态变了,会和从前大不一样的,在现代这个定义应该是体质的变化,你功夫越得力你会发现过去有些毛病,现在毛病没有了;从前精神常常提不起来,现在精神饱满、容光焕发。。

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

0bbc7a252bde60c6bfd6251ae573425e.jpeg

' SpeakerVolume for MODEMSETTINGS

Const MDMVOL_LOW = &H0

Const MDMVOL_MEDIUM = &H1

Const MDMVOL_HIGH = &H2

' SpeakerMode for MODEMDEVCAPS

Const MDMSPKRFLAG_OFF = &H1

Const MDMSPKRFLAG_DIAL = &H2

Const MDMSPKRFLAG_ON = &H4

Const MDMSPKRFLAG_CALLSETUP = &H8

' SpeakerMode for MODEMSETTINGS

Const MDMSPKR_OFF = &H0

Const MDMSPKR_DIAL = &H1

Const MDMSPKR_ON = &H2

Const MDMSPKR_CALLSETUP = &H3

' Modem Options

Const MDM_COMPRESSION = &H1

Const MDM_ERROR_CONTROL = &H2

Const MDM_FORCED_EC = &H4

Const MDM_CELLULAR = &H8

Const MDM_FLOWCONTROL_HARD = &H10

Const MDM_FLOWCONTROL_SOFT = &H20

Const MDM_CCITT_OVERRIDE = &H40

Const MDM_SPEED_ADJUST = &H80

Const MDM_TONE_DIAL = &H100

Const MDM_BLIND_DIAL = &H200

Const MDM_V23_OVERRIDE = &H400

' ***************************************************************************** *

' * shellapi.h - SHELL.DLL functions, types, and definitions *

' * *

' * Copyright (c) 1992-1995, Microsoft Corp. All rights reserved *

' * *

' \*****************************************************************************/

Declare PtrSafe Function DragQueryFile Lib "shell32.dll" Alias "DragQueryFileA" (ByVal HDROP As LongPtr, ByVal UINT As Long, ByVal lpStr As String, ByVal ch As Long) As Long

Declare PtrSafe Function DragQueryPoint Lib "shell32.dll" Alias "DragQueryPoint" (ByVal HDROP As LongPtr, lpPoint As POINTAPI) As Long

Declare PtrSafe Sub DragFinish Lib "shell32.dll" Alias "DragFinish" (ByVal hDrop As LongPtr)

Declare PtrSafe Sub DragAcceptFiles Lib "shell32.dll" Alias "DragAcceptFiles" (ByVal hwnd As LongPtr, ByVal fAccept As Long)

Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr

Declare PtrSafe Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As LongPtr

Declare PtrSafe Function ShellAbout Lib "shell32.dll" Alias "ShellAboutA" (ByVal hwnd As LongPtr, ByVal szApp As String, ByVal szOtherStuff As String, ByVal hIcon As LongPtr) As Long

Declare PtrSafe Function DuplicateIcon Lib "shell32.dll" Alias "DuplicateIcon" (ByVal hInst As LongPtr, ByVal hIcon As LongPtr) As LongPtr

Declare PtrSafe Function ExtractAssociatedIcon Lib "shell32.dll" Alias "ExtractAssociatedIconA" (ByVal hInst As LongPtr, ByVal lpIconPath As String, lpiIcon As Long) As LongPtr

Declare PtrSafe Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As LongPtr, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As LongPtr

Type DRAGINFO

        uSize As Long ' init with sizeof(DRAGINFO)

        pt As POINTAPI

        fNC As Long

        lpFileList As String

        grfKeyState As Long

End Type

' // AppBar stuff

Const ABM_NEW = &H0

Const ABM_REMOVE = &H1

Const ABM_QUERYPOS = &H2

Const ABM_SETPOS = &H3

Const ABM_GETSTATE = &H4

Const ABM_GETTASKBARPOS = &H5

Const ABM_ACTIVATE = &H6 ' lParam == TRUE/FALSE means activate/deactivate

Const ABM_GETAUTOHIDEBAR = &H7

Const ABM_SETAUTOHIDEBAR = &H8 ' this can fail at any time. MUST check the result

                                        ' lParam = TRUE/FALSE Set/Unset

                                        ' uEdge = what edge

Const ABM_WINDOWPOSCHANGED = &H9

' these are put in the wparam of callback messages

Const ABN_STATECHANGE = &H0

Const ABN_POSCHANGED = &H1

Const ABN_FULLSCREENAPP = &H2

Const ABN_WINDOWARRANGE = &H3 ' lParam == TRUE means hide

' flags for get state

Const ABS_AUTOHIDE = &H1

Const ABS_ALWAYSONTOP = &H2

Const ABE_LEFT = 0

Const ABE_TOP = 1

Const ABE_RIGHT = 2

Const ABE_BOTTOM = 3

Type APPBARDATA

        cbSize As Long

        hwnd As LongPtr

        uCallbackMessage As Long

        uEdge As Long

        rc As RECT

        lParam As LongPtr ' message specific

End Type

Declare PtrSafe Function SHAppBarMessage Lib "shell32.dll" Alias "SHAppBarMessage" (ByVal dwMessage As Long, pData As APPBARDATA) As LongPtr

' // EndAppBar

Declare PtrSafe Function DoEnvironmentSubst Lib "shell32.dll" Alias "DoEnvironmentSubstA" (ByVal szString As String, ByVal cbString As Long) As Long

Declare PtrSafe Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" (ByVal lpszFile As String, ByVal nIconIndex As Long, phiconLarge As LongPtr, phiconSmall As LongPtr, ByVal nIcons As Long) As Long

' // Shell File Operations

Const FO_MOVE = &H1

Const FO_COPY = &H2

Const FO_DELETE = &H3

Const FO_RENAME = &H4

Const FOF_MULTIDESTFILES = &H1

Const FOF_CONFIRMMOUSE = &H2

Const FOF_SILENT = &H4 ' don't create progress/report

Const FOF_RENAMEONCOLLISION = &H8

Const FOF_NOCONFIRMATION = &H10 ' Don't prompt the user.

Const FOF_WANTMAPPINGHANDLE = &H20 ' Fill in SHFILEOPSTRUCT.hNameMappings

                                      ' Must be freed using SHFreeNameMappings

Const FOF_ALLOWUNDO = &H40

Const FOF_FILESONLY = &H80 ' on *.*, do only files

Const FOF_SIMPLEPROGRESS = &H100 ' means don't show names of files

Const FOF_NOCONFIRMMKDIR = &H200 ' don't confirm making any needed dirs

Const PO_DELETE = &H13 ' printer is being deleted

Const PO_RENAME = &H14 ' printer is being renamed

Const PO_PORTCHANGE = &H20 ' port this printer connected to is being changed

                                ' if this id is set, the strings received by

                                ' the copyhook are a doubly-null terminated

                                ' list of strings. The first is the printer

                                ' name and the second is the printer port.

Const PO_REN_PORT = &H34 ' PO_RENAME and PO_PORTCHANGE at same time.

' no POF_ flags currently defined

' implicit parameters are:

' if pFrom or pTo are unqualified names the current directories are

' taken from the global current drive/directory settings managed

' by Get/SetCurrentDrive/Directory

'

' the global confirmation settings

Type SHFILEOPSTRUCT

        hwnd As LongPtr

        wFunc As Long

        pFrom As String

        pTo As String

        fFlags As Integer

        fAnyOperationsAborted As Long

        hNameMappings As LongPtr

        lpszProgressTitle As String ' only used if FOF_SIMPLEPROGRESS

End Type

9095ff605f8056fcc83ea1d564e67ead.jpeg

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


560a2cd4fbbd32473525209d71b2961a.jpeg

30dae92358e0bc9dc1aa601c1653d68a.jpeg


http://www.ppmy.cn/news/1200812.html

相关文章

【大数据】NiFi 中的重要术语

NiFi 中的重要术语 1.Flow Controller2.Processor3.Connection4.Controller Service5.Process Group6.FlowFile 那些一个个黑匣子称为 Processor,它们通过称为 Connection 的队列交换名为 FlowFile 的信息块。最后,FlowFile Controller 负责管理这些组件…

【从0到1开发一个网关】网关Mock功能的实现

文章目录 什么是Mock?如何实现Mock什么是Mock? Mock(模拟)是一种测试技术,用于创建虚拟对象来模拟真实对象的行为。Mock对象模拟了真实对象的行为,但是不依赖于真实对象的实现细节。它们可以在测试中替代真实对象,以便进行独立的单元测试。 需要使用Mock的原因包括以下几…

windows 下 QT Android 环境搭建(QGC 4.2.x + Qt 5.15.2)

文章目录 1. QT Creator 环境搭建2. JDK1)官网途径:2) 360 安装:配置 3. SDK1) 通过 Android Studio2)QT 配置中安装 姊妹篇: win10下新版QGC地面站环境搭建全面攻略(v4.x.x QGroundControl地面站搭建&…

全面的Docker快速入门教程

前言: 都2023年了,你还在为了安装一个开发或者部署环境、软件而花费半天的时间吗?你还在解决开发环境能够正常访问,而发布正式环境无法正常访问的问题吗?你还在为持续集成和持续交付(CI / CD)工…

思维模型 首因效应

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。先入为主,一见钟情。 1 首因效应的应用 1.1 面试中的首因效应 小李是一名应届毕业生,他准备参加一家知名互联网公司的面试。在面试前,他做了充分的准备…

后端配置跨域怎么配置

在后端配置跨域,需要在服务器的代码中添加相应的设置。以下是几种常见的后端语言的跨域配置方式: Node.js 在使用 Node.js 的 Express 框架时,可以使用 cors 中间件来处理跨域问题。安装 cors 中间件后,在代码中添加如下设置&am…

【Kubernetes部署】通过Kubeadm部署Kubernetes高可用集群

Kubeadm 一、kubeadm部署思路二、基本架构2.1 资源分配2.2 系统初始化操作(所有节点)2.2.1关闭防火墙、selinux和swap分区2.2.2 修改主机名,添加域名映射2.2.3 内核相关2.2.4 加载ip_vs模块2.2.5 时间同步 三、部署docker3.1 通过yum安装dock…

学习代码20231106

解释代码:os.environ[“OMP_NUM_THREADS“] “1“ 这行代码涉及到 Python 的 os 模块和环境变量。它的作用是设置名为 “OMPNUMTHREADS” 的环境变量的值为 “1”。让我解释一下各部分的含义: 1.os.environ: 这是 Python 中的一个字典,包含…