ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6600|回复: 11

[原创] [原创]VBA指针教程1

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-6-1 12:31 | 显示全部楼层 |阅读模式
  1. '先理解下变量的地址与指向这个地址的值。xx省xx市xx街xx号就是一个地址,
  2. '指向这个地址的值就是这个地址就有什么。比如这个地址是张三家的地址,
  3. '张三的家有什么呢?这个有什么就是这个地址所指向的值。
  4. 'VB没用操作指针的语言特性,因此需要通过WinAPI函数来进行操作,下面我们将
  5. '演示一个非常简单的指针操作,让大家在VB使用指针有个基本的了解。
  6. 'CopyMemory函数参数
  7. 'CopyMemory是WinAPI函数,为了演示我把其修改成了两个版本,
  8. '版本1:CopyMemory1
  9. '版本2:CopyMemory2
  10. '版本1Destination及Source的参数是按照引用传递的(ByRef)
  11. '版本2Destination及Source的参数是按照值传递的(ByVal)
  12. '参数说明:
  13. 'Destination
  14. '要复制内存块的目的地址?
  15. 'Source
  16. '要复制内存块的源地址?
  17. 'Length
  18. '指定要复制内存块的大小,单位为字节
  19. '返回值
  20. '该函数为VOID型,没有返回值。
  21. Private Declare Sub CopyMemory1 Lib "kernel32" Alias "RtlMoveMemory" _
  22.         (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long)

  23. Private Declare Sub CopyMemory2 Lib "kernel32" Alias "RtlMoveMemory" _
  24.         (ByVal Destination As Any, ByVal Source As Any, ByVal Length As Long)

  25. '在Basic语言演变成QBasic,然后到Visual Basic之前,VarPtr函数就已经存在了。
  26. '开始,这个函数存在于VB运行库1.0版中。VarPtr函数的作用获取变量的地址
  27. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  28.     Dim long1 As Long
  29.     Dim long2 As Long
  30.     long1 = 10
  31.     '版本1的CopyMemory
  32.     CopyMemory1 long2, long1, 4
  33.     MsgBox long2
  34.     '版本2的CopyMemory
  35.     Dim long3 As Long
  36.     CopyMemory2 VarPtr(long3), VarPtr(long1), 4
  37.     MsgBox long3

  38. End Sub

复制代码

TA的精华主题

TA的得分主题

发表于 2010-6-1 12:42 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-6-1 13:24 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-1 13:40 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-6-1 17:52 | 显示全部楼层
原帖由 ioriliao 于 2010-6-1 13:40 发表
肯定是啦,南宫兄。

怎么你也跑这个论坛来了?呵呵。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-1 18:30 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-6-1 18:33 | 显示全部楼层
占位学习一下!!!!
API??

TA的精华主题

TA的得分主题

发表于 2011-10-24 20:40 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-10-24 21:37 | 显示全部楼层
API  {:soso_e127:}{:soso_e126:}{:soso_e127:}
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2011-10-25 00:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-19 05:51 , Processed in 0.032757 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表