周一至周五 : 08:30 - 17:30 客服专员电话/微信:18049979371 QQ:2982200781
微信咨询

扫码微信咨询

关注公众号

关注微信公众号

电话: 021 5161 9370
返回顶部
VBA代码中GetLock的使用方法
显示全部楼层 倒序浏览 发表日期 2016-12-13 12:21:29 3761次阅读 2次回复
快表VBA操作表格对象,必须有取锁和还原锁的过程。否则代码在执行过程中就会出错。如下图:

QQ截图20161213121339.jpg

时机:只要使用了Range单元格取值,赋值,按钮名称的获取,判断等都要前后加上GetLock() 和 ReleaseLock()

如果多次赋值取值,只要在最前面和最后面加即可。如下面代码。

AW.WorkbookSet.GetLock()
If Range("A1").Text = "你好" Then
   Range("A1").Value = "再见"
   Range("B1").Value = "好的"
End if
AW.WorkbookSet.ReleaseLock()

'以上代码两次操作Range,但是只在最前面和最后面使用即可。



联系QQ:1327452797
7314564

2016-12-14 15:11:21

本帖最后由 7314564 于 2016-12-14 15:26 编辑

我的vba也有range对象的赋值和取值呀,代码是RangeChanged事件里的。没有用GetLock()和ReleaseLock(),但是没有出现错误提示呀。
7314564

2016-12-14 15:13:54

7314564 发表于 2016-12-14 15:11
我的vba也有range对象的赋值和取值呀,代码是RangeChanged事件里的。没有用GetLock()和ReleaseLock()

但是程序也没有出现你的提示呀。

精彩评论2

7314564

2016-12-14 15:11:21

本帖最后由 7314564 于 2016-12-14 15:26 编辑

我的vba也有range对象的赋值和取值呀,代码是RangeChanged事件里的。没有用GetLock()和ReleaseLock(),但是没有出现错误提示呀。
7314564

2016-12-14 15:13:54

7314564 发表于 2016-12-14 15:11
我的vba也有range对象的赋值和取值呀,代码是RangeChanged事件里的。没有用GetLock()和ReleaseLock()

但是程序也没有出现你的提示呀。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  允许回帖邮件提醒楼主

快表软件是国内较早研究表格类软件开发平台的团队之一,迄今已有十多年的行业经验.致力于为企事业单位提供实用可靠的数字化平台。
  • 微信公众号

  • 微信小商店

  • 微信客服

  • Powered by Discuz! X3.4 | Copyright © 2022-2024, XiRong Soft. | 快表软件
  • 沪ICP备13033196号 | 营业执照 |上海西戎软件科技有限公司|沪公网安备31011502002146号|沪ICP备13033196号 |