【分享成果,随喜正能量】因缘无常,观法无我,破除了我执,得恒久的自在。花开不是为了凋谢,而是为了结果,结果也不是为了终结,而是重生。人生,亦是如此。 。跟我学VBA,我这里专注VBA, 授人以渔。我98年开始,从源码接触VBA已经20余年了,随着年龄的增长,越来越觉得有必要把这项技能传递给需要这项技术的职场人员。希望职场和数据打交道的朋友,都来学习VBA,利用VBA,起码可以提高自己的工作效率,可以有时间多陪陪父母,多陪陪家人,何乐而不为呢?这讲我们继续学习64位Office API声明语句第97讲,这些内容是MS的权威资料,看似枯燥,但对于想学习API函数的朋友是非常有用的。当学员学习到高级阶段,如果引用API,这个资料可以直接查到64位写法。大多数情况下我们是将低版本的程序文件升级到高版本,这时您就不必为如下的错误提示所困扰了: Type MCI_INFO_PARMS dwCallback As LongPtr lpstrReturn As String dwRetSize As LongEnd Type Type MCI_GETDEVCAPS_PARMS dwCallback As LongPtr dwReturn As Long dwIten As LongEnd Type Type MCI_SYSINFO_PARMS dwCallback As LongPtr lpstrReturn As String dwRetSize As Long dwNumber As Long wDeviceType As LongEnd Type Type MCI_SET_PARMS dwCallback As LongPtr dwTimeFormat As Long dwAudio As LongEnd Type Type MCI_BREAK_PARMS dwCallback As LongPtr nVirtKey As Long hwndBreak As LongPtrEnd Type Type MCI_SOUND_PARMS dwCallback As LongPtr lpstrSoundName As StringEnd Type Type MCI_SAVE_PARMS dwCallback As LongPtr lpFileName As StringEnd Type Type MCI_LOAD_PARMS dwCallback As LongPtr lpFileName As StringEnd Type Type MCI_RECORD_PARMS dwCallback As LongPtr dwFrom As Long dwTo As LongEnd Type Const MCI_VD_MODE_PARK = (MCI_VD_OFFSET + 1) ' return ID's for videodisc MCI_GETDEVCAPS command ' flag for dwReturn field of MCI_STATUS_PARMS' MCI_STATUS command, (dwItem == MCI_VD_STATUS_MEDIA_TYPE)Const MCI_VD_MEDIA_CLV = (MCI_VD_OFFSET + 2)Const MCI_VD_MEDIA_CAV = (MCI_VD_OFFSET + 3)Const MCI_VD_MEDIA_OTHER = (MCI_VD_OFFSET + 4) Const MCI_VD_FORMAT_TRACK = &H4001 ' flags for dwFlags parameter of MCI_PLAY command messageConst MCI_VD_PLAY_REVERSE = &H10000Const MCI_VD_PLAY_FAST = &H20000Const MCI_VD_PLAY_SPEED = &H40000Const MCI_VD_PLAY_SCAN = &H80000Const MCI_VD_PLAY_SLOW = &H100000 ' flag for dwFlags parameter of MCI_SEEK command messageConst MCI_VD_SEEK_REVERSE = &H10000 ' flags for dwItem field of MCI_STATUS_PARMS parameter blockConst MCI_VD_STATUS_SPEED = &H4002&Const MCI_VD_STATUS_FORWARD = &H4003&Const MCI_VD_STATUS_MEDIA_TYPE = &H4004&Const MCI_VD_STATUS_SIDE = &H4005&Const MCI_VD_STATUS_DISC_SIZE = &H4006& ' flags for dwFlags parameter of MCI_GETDEVCAPS command messageConst MCI_VD_GETDEVCAPS_CLV = &H10000Const MCI_VD_GETDEVCAPS_CAV = &H20000 Const MCI_VD_SPIN_UP = &H10000Const MCI_VD_SPIN_DOWN = &H20000 ' flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter blockConst MCI_VD_GETDEVCAPS_CAN_REVERSE = &H4002&Const MCI_VD_GETDEVCAPS_FAST_RATE = &H4003&Const MCI_VD_GETDEVCAPS_SLOW_RATE = &H4004&Const MCI_VD_GETDEVCAPS_NORMAL_RATE = &H4005& ' flags for the dwFlags parameter of MCI_STEP command messageConst MCI_VD_STEP_FRAMES = &H10000Const MCI_VD_STEP_REVERSE = &H20000 ' flag for the MCI_ESCAPE command messageConst MCI_VD_ESCAPE_STRING = &H100& Type MCI_VD_PLAY_PARMS dwCallback As LongPtr dwFrom As Long dwTo As Long dwSpeed As LongEnd Type Type MCI_VD_STEP_PARMS dwCallback As LongPtr dwFrames As LongEnd Type Type MCI_VD_ESCAPE_PARMS dwCallback As LongPtr lpstrCommand As StringEnd Type Const MCI_WAVE_PCM = (MCI_WAVE_OFFSET + 0)Const MCI_WAVE_MAPPER = (MCI_WAVE_OFFSET + 1) ' flags for the dwFlags parameter of MCI_OPEN command messageConst MCI_WAVE_OPEN_BUFFER = &H10000 ' flags for the dwFlags parameter of MCI_SET command messageConst MCI_WAVE_SET_FORMATTAG = &H10000Const MCI_WAVE_SET_CHANNELS = &H20000Const MCI_WAVE_SET_SAMPLESPERSEC = &H40000Const MCI_WAVE_SET_AVGBYTESPERSEC = &H80000Const MCI_WAVE_SET_BLOCKALIGN = &H100000Const MCI_WAVE_SET_BITSPERSAMPLE = &H200000 ' flags for the dwFlags parameter of MCI_STATUS, MCI_SET command messagesConst MCI_WAVE_INPUT = &H400000Const MCI_WAVE_OUTPUT = &H800000 ' flags for the dwItem field of MCI_STATUS_PARMS parameter blockConst MCI_WAVE_STATUS_FORMATTAG = &H4001&Const MCI_WAVE_STATUS_CHANNELS = &H4002&Const MCI_WAVE_STATUS_SAMPLESPERSEC = &H4003&Const MCI_WAVE_STATUS_AVGBYTESPERSEC = &H4004&Const MCI_WAVE_STATUS_BLOCKALIGN = &H4005&Const MCI_WAVE_STATUS_BITSPERSAMPLE = &H4006&Const MCI_WAVE_STATUS_LEVEL = &H4007& ' flags for the dwFlags parameter of MCI_SET command messageConst MCI_WAVE_SET_ANYINPUT = &H4000000Const MCI_WAVE_SET_ANYOUTPUT = &H8000000 ' flags for the dwFlags parameter of MCI_GETDEVCAPS command messageConst MCI_WAVE_GETDEVCAPS_INPUTS = &H4001&Const MCI_WAVE_GETDEVCAPS_OUTPUTS = &H4002& Type MCI_WAVE_OPEN_PARMS dwCallback As LongPtr wDeviceID As Long lpstrDeviceType As String lpstrElementName As String lpstrAlias As String dwBufferSeconds As LongEnd Type Type MCI_WAVE_DELETE_PARMS dwCallback As LongPtr dwFrom As Long dwTo As LongEnd Type Type MCI_WAVE_SET_PARMS dwCallback As LongPtr dwTimeFormat As Long dwAudio As Long wInput As Long wOutput As Long wFormatTag As Integer wReserved2 As Integer nChannels As Integer wReserved3 As Integer nSamplesPerSec As Long nAvgBytesPerSec As Long nBlockAlign As Integer wReserved4 As Integer wBitsPerSample As Integer wReserved5 As IntegerEnd Type ' flags for the dwReturn field of MCI_STATUS_PARMS parameter block' MCI_STATUS command, (dwItem == MCI_SEQ_STATUS_DIVTYPE)Const MCI_SEQ_DIV_PPQN = (0 + MCI_SEQ_OFFSET)Const MCI_SEQ_DIV_SMPTE_24 = (1 + MCI_SEQ_OFFSET)Const MCI_SEQ_DIV_SMPTE_25 = (2 + MCI_SEQ_OFFSET)Const MCI_SEQ_DIV_SMPTE_30DROP = (3 + MCI_SEQ_OFFSET)Const MCI_SEQ_DIV_SMPTE_30 = (4 + MCI_SEQ_OFFSET) ' flags for the dwMaster field of MCI_SEQ_SET_PARMS parameter block' MCI_SET command, (dwFlags == MCI_SEQ_SET_MASTER)Const MCI_SEQ_FORMAT_SONGPTR = &H4001Const MCI_SEQ_FILE = &H4002Const MCI_SEQ_MIDI = &H4003Const MCI_SEQ_SMPTE = &H4004Const MCI_SEQ_NONE = 65533 Const MCI_SEQ_MAPPER = 65535 ' flags for the dwItem field of MCI_STATUS_PARMS parameter blockConst MCI_SEQ_STATUS_TEMPO = &H4002&Const MCI_SEQ_STATUS_PORT = &H4003&Const MCI_SEQ_STATUS_SLAVE = &H4007&Const MCI_SEQ_STATUS_MASTER = &H4008&Const MCI_SEQ_STATUS_OFFSET = &H4009&Const MCI_SEQ_STATUS_DIVTYPE = &H400A&我20多年的VBA实践经验,全部浓缩在下面的各个教程中: 【分享成果,随喜正能量】一个人干不干净,不是看他的外表是否光鲜,而在于他的内心是否纯净。在心灵纯净的人眼中,整个世界都是纯净的;在心理阴暗的人眼中,全世界都是肮脏的。 。