VBA 64位API声明语句第021讲

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

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

【分享成果,随喜正能量】人生不易,累也过,闲也过,只要能充实就是最好过,有也过,没也过,为什么你不看看众生怎么过,富也过,穷也过,活在当下最好过,贪也过,施也过,笑口常开最好过,身心安乐好比神仙过,何必让自己不痛快的活。​​​

VBA 64位API声明语句第021讲

Const CTRY_IRELAND = 353 ' Ireland

Const CTRY_ITALY = 39 ' Italy

Const CTRY_JAPAN = 81 ' Japan

Const CTRY_MEXICO = 52 ' Mexico

Const CTRY_NETHERLANDS = 31 ' Netherlands

Const CTRY_NEW_ZEALAND = 64 ' New Zealand

Const CTRY_NORWAY = 47 ' Norway

Const CTRY_PORTUGAL = 351 ' Portugal

Const CTRY_PRCHINA = 86 ' PR China

Const CTRY_SOUTH_KOREA = 82 ' South Korea

Const CTRY_SPAIN = 34 ' Spain

Const CTRY_SWEDEN = 46 ' Sweden

Const CTRY_SWITZERLAND = 41 ' Switzerland

Const CTRY_TAIWAN = 886 ' Taiwan

Const CTRY_UNITED_KINGDOM = 44 ' United Kingdom

Const CTRY_UNITED_STATES = 1 ' United States

' Locale Types.

' These types are used for the GetLocaleInfoW NLS API routine.

' LOCALE_NOUSEROVERRIDE is also used in GetTimeFormatW and GetDateFormatW.

Const LOCALE_NOUSEROVERRIDE = &H80000000 ' do not use user overrides

Const LOCALE_ILANGUAGE = &H1 ' language id

Const LOCALE_SLANGUAGE = &H2 ' localized name of language

Const LOCALE_SENGLANGUAGE = &H1001 ' English name of language

Const LOCALE_SABBREVLANGNAME = &H3 ' abbreviated language name

Const LOCALE_SNATIVELANGNAME = &H4 ' native name of language

Const LOCALE_ICOUNTRY = &H5 ' country code

Const LOCALE_SCOUNTRY = &H6 ' localized name of country

Const LOCALE_SENGCOUNTRY = &H1002 ' English name of country

Const LOCALE_SABBREVCTRYNAME = &H7 ' abbreviated country name

Const LOCALE_SNATIVECTRYNAME = &H8 ' native name of country

Const LOCALE_IDEFAULTLANGUAGE = &H9 ' default language id

Const LOCALE_IDEFAULTCOUNTRY = &HA ' default country code

Const LOCALE_IDEFAULTCODEPAGE = &HB ' default code page

Const LOCALE_SLIST = &HC ' list item separator

Const LOCALE_IMEASURE = &HD ' 0 = metric, 1 = US

Const LOCALE_SDECIMAL = &HE ' decimal separator

Const LOCALE_STHOUSAND = &HF ' thousand separator

Const LOCALE_SGROUPING = &H10 ' digit grouping

Const LOCALE_IDIGITS = &H11 ' number of fractional digits

Const LOCALE_ILZERO = &H12 ' leading zeros for decimal

Const LOCALE_SNATIVEDIGITS = &H13 ' native ascii 0-9

Const LOCALE_SCURRENCY = &H14 ' local monetary symbol

Const LOCALE_SINTLSYMBOL = &H15 ' intl monetary symbol

Const LOCALE_SMONDECIMALSEP = &H16 ' monetary decimal separator

Const LOCALE_SMONTHOUSANDSEP = &H17 ' monetary thousand separator

Const LOCALE_SMONGROUPING = &H18 ' monetary grouping

Const LOCALE_ICURRDIGITS = &H19 ' # local monetary digits

Const LOCALE_IINTLCURRDIGITS = &H1A ' # intl monetary digits

Const LOCALE_ICURRENCY = &H1B ' positive currency mode

Const LOCALE_INEGCURR = &H1C ' negative currency mode

Const LOCALE_SDATE = &H1D ' date separator

Const LOCALE_STIME = &H1E ' time separator

Const LOCALE_SSHORTDATE = &H1F ' short date format string

Const LOCALE_SLONGDATE = &H20 ' long date format string

Const LOCALE_STIMEFORMAT = &H1003 ' time format string

Const LOCALE_IDATE = &H21 ' short date format ordering

Const LOCALE_ILDATE = &H22 ' long date format ordering

Const LOCALE_ITIME = &H23 ' time format specifier

Const LOCALE_ICENTURY = &H24 ' century format specifier

Const LOCALE_ITLZERO = &H25 ' leading zeros in time field

Const LOCALE_IDAYLZERO = &H26 ' leading zeros in day field

Const LOCALE_IMONLZERO = &H27 ' leading zeros in month field

Const LOCALE_S1159 = &H28 ' AM designator

Const LOCALE_S2359 = &H29 ' PM designator

Const LOCALE_SDAYNAME1 = &H2A ' long name for Monday

Const LOCALE_SDAYNAME2 = &H2B ' long name for Tuesday

Const LOCALE_SDAYNAME3 = &H2C ' long name for Wednesday

Const LOCALE_SDAYNAME4 = &H2D ' long name for Thursday

Const LOCALE_SDAYNAME5 = &H2E ' long name for Friday

Const LOCALE_SDAYNAME6 = &H2F ' long name for Saturday

Const LOCALE_SDAYNAME7 = &H30 ' long name for Sunday

Const LOCALE_SABBREVDAYNAME1 = &H31 ' abbreviated name for Monday

Const LOCALE_SABBREVDAYNAME2 = &H32 ' abbreviated name for Tuesday

Const LOCALE_SABBREVDAYNAME3 = &H33 ' abbreviated name for Wednesday

Const LOCALE_SABBREVDAYNAME4 = &H34 ' abbreviated name for Thursday

Const LOCALE_SABBREVDAYNAME5 = &H35 ' abbreviated name for Friday

Const LOCALE_SABBREVDAYNAME6 = &H36 ' abbreviated name for Saturday

Const LOCALE_SABBREVDAYNAME7 = &H37 ' abbreviated name for Sunday

Const LOCALE_SMONTHNAME1 = &H38 ' long name for January

Const LOCALE_SMONTHNAME2 = &H39 ' long name for February

Const LOCALE_SMONTHNAME3 = &H3A ' long name for March

Const LOCALE_SMONTHNAME4 = &H3B ' long name for April

Const LOCALE_SMONTHNAME5 = &H3C ' long name for May

Const LOCALE_SMONTHNAME6 = &H3D ' long name for June

Const LOCALE_SMONTHNAME7 = &H3E ' long name for July

Const LOCALE_SMONTHNAME8 = &H3F ' long name for August

Const LOCALE_SMONTHNAME9 = &H40 ' long name for September

Const LOCALE_SMONTHNAME10 = &H41 ' long name for October

Const LOCALE_SMONTHNAME11 = &H42 ' long name for November

Const LOCALE_SMONTHNAME12 = &H43 ' long name for December

Const LOCALE_SABBREVMONTHNAME1 = &H44 ' abbreviated name for January

Const LOCALE_SABBREVMONTHNAME2 = &H45 ' abbreviated name for February

Const LOCALE_SABBREVMONTHNAME3 = &H46 ' abbreviated name for March

Const LOCALE_SABBREVMONTHNAME4 = &H47 ' abbreviated name for April

Const LOCALE_SABBREVMONTHNAME5 = &H48 ' abbreviated name for May

Const LOCALE_SABBREVMONTHNAME6 = &H49 ' abbreviated name for June

Const LOCALE_SABBREVMONTHNAME7 = &H4A ' abbreviated name for July

Const LOCALE_SABBREVMONTHNAME8 = &H4B ' abbreviated name for August

Const LOCALE_SABBREVMONTHNAME9 = &H4C ' abbreviated name for September

Const LOCALE_SABBREVMONTHNAME10 = &H4D ' abbreviated name for October

Const LOCALE_SABBREVMONTHNAME11 = &H4E ' abbreviated name for November

Const LOCALE_SABBREVMONTHNAME12 = &H4F ' abbreviated name for December

Const LOCALE_SABBREVMONTHNAME13 = &H100F

Const LOCALE_SPOSITIVESIGN = &H50 ' positive sign

Const LOCALE_SNEGATIVESIGN = &H51 ' negative sign

Const LOCALE_IPOSSIGNPOSN = &H52 ' positive sign position

Const LOCALE_INEGSIGNPOSN = &H53 ' negative sign position

Const LOCALE_IPOSSYMPRECEDES = &H54 ' mon sym precedes pos amt

Const LOCALE_IPOSSEPBYSPACE = &H55 ' mon sym sep by space from pos amt

Const LOCALE_INEGSYMPRECEDES = &H56 ' mon sym precedes neg amt

Const LOCALE_INEGSEPBYSPACE = &H57 ' mon sym sep by space from neg amt

' Time Flags for GetTimeFormatW.

Const TIME_NOMINUTESORSECONDS = &H1 ' do not use minutes or seconds

Const TIME_NOSECONDS = &H2 ' do not use seconds

Const TIME_NOTIMEMARKER = &H4 ' do not use time marker

Const TIME_FORCE24HOURFORMAT = &H8 ' always use 24 hour format

' Date Flags for GetDateFormatW.

Const DATE_SHORTDATE = &H1 ' use short date picture

Const DATE_LONGDATE = &H2 ' use long date picture

' Code Page Dependent APIs

Declare PtrSafe Function IsValidCodePage Lib "kernel32" Alias "IsValidCodePage" (ByVal CodePage As Long) As Long

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

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

Declare PtrSafe Function GetCPInfo Lib "kernel32" Alias "GetCPInfo" (ByVal CodePage As Long, lpCPInfo As CPINFO) As Long

Declare PtrSafe Function IsDBCSLeadByte Lib "kernel32" Alias "IsDBCSLeadByte" (ByVal bTestChar As Byte) As Long

Declare PtrSafe Function MultiByteToWideChar Lib "kernel32" Alias "MultiByteToWideChar" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As String, ByVal cchMultiByte As Long, ByVal lpWideCharStr As String, ByVal cchWideChar As Long) As Long

Declare PtrSafe Function WideCharToMultiByte Lib "kernel32" Alias "WideCharToMultiByte" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As String, ByVal cchWideChar As Long, ByVal lpMultiByteStr As String, ByVal cchMultiByte As Long, ByVal lpDefaultChar As String, ByVal lpUsedDefaultChar As LongPtr) As Long

' Locale Dependent APIs

Declare PtrSafe Function CompareString Lib "kernel32" Alias "CompareStringA" (ByVal Locale As Long, ByVal dwCmpFlags As Long, ByVal lpString1 As String, ByVal cchCount1 As Long, ByVal lpString2 As String, ByVal cchCount2 As Long) As Long

Declare PtrSafe Function LCMapString Lib "kernel32" Alias "LCMapStringA" (ByVal Locale As Long, ByVal dwMapFlags As Long, ByVal lpSrcStr As String, ByVal cchSrc As Long, ByVal lpDestStr As String, ByVal cchDest As Long) As Long

Declare PtrSafe Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long

Declare PtrSafe Function GetTimeFormat Lib "kernel32" Alias "GetTimeFormatA" (ByVal Locale As Long, ByVal dwFlags As Long, lpTime As SYSTEMTIME, ByVal lpFormat As String, ByVal lpTimeStr As String, ByVal cchTime As Long) As Long

Declare PtrSafe Function GetDateFormat Lib "kernel32" Alias "GetDateFormatA" (ByVal Locale As Long, ByVal dwFlags As Long, lpDate As SYSTEMTIME, ByVal lpFormat As String, ByVal lpDateStr As String, ByVal cchDate As Long) As Long

Declare PtrSafe Function SetThreadLocale Lib "kernel32" Alias "SetThreadLocale" (ByVal Locale As Long) As Long

Declare PtrSafe Function GetSystemDefaultLangID Lib "kernel32" Alias "GetSystemDefaultLangID" () As Integer

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

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

相关推荐
VBA63374 天前
VBA数据库解决方案第三十一讲 DELETE+ADDNEW实现类似于UPDATA功能
vba
Access开发易登软件4 天前
Access 用 VBA 操作 SQLite,不用装任何驱动
jvm·数据库·sqlite·vba·access·access开发
Access开发易登软件10 天前
Access 和 SQLite,根本不在一个赛道上
java·jvm·数据库·sqlite·excel·vba·access开发
sduwcgg22 天前
Zotero插入的文献添加交叉引用
vba
VBA633725 天前
如何学习VBA之1.4 理解4---事件
vba
专注VB编程开发20年1 个月前
傻瓜式Office 功能区插件 / Ribbon开发模板
ribbon·excel·vba·插件·扩展宏
weitingfu2 个月前
Excel VBA 入门到精通(十):实战项目——自动化报表系统开发
ai·信息可视化·自动化·excel·vba·office·报表系统
VBA63372 个月前
如何学习VBA之1:初学VBA人员要重视程序文件
vba