EnableSelection属性设置没有效果是为什么?

zhengjialon 2010-05-12 05:57:40
代码如下:
Set xlBook = xlApp.Workbooks.Open("E:\Work\旧系统\销售日报表\" & rst!店名 & " 销售日报表(2010秋).xls")
Set xlSheet = xlBook.Worksheets(1)
xlApp.Visible = True
xlSheet.Unprotect Password:="123"
xlSheet.Range("D5") = rst!店名
xlSheet.Protect Password:="123" ', Scenarios:=True ', Contents:=True, UserInterfaceOnly:=True
xlSheet.EnableSelection = -4142
xlBook.Save
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
可是设置之后鼠标还是能点击到单元格中


简单点说:就是把一个XLS文件加密码,加后已锁定的单元格不能用鼠标点进去
...全文
507 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dsd999 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhengjialon 的回复:]
头两个选择框是选中的,按道理应该是第二个选择,第一个不选择才对(xlSheet.EnableSelection = -4142就是设置不选择这个的吧),这也是我想要的结果。
[/Quote]

头两个是选中的就不对了,应该是两个都不选中。
而且第一个不能单独选中,必须和第二个一起。
第二个可以单独选中。
  • 打赏
  • 举报
回复
先看看你单元格设置里的保护怎么设的?如果是区域的话,看整个区域的单元格设置-》保护

如果是默认锁定状态,那么把工作表保护里的第一项去掉。
zhengjialon 2010-05-13
  • 打赏
  • 举报
回复
头两个选择框是选中的,按道理应该是第二个选择,第一个不选择才对(xlSheet.EnableSelection = -4142就是设置不选择这个的吧),这也是我想要的结果。
dsd999 2010-05-13
  • 打赏
  • 举报
回复
保护的窗口,头两个选择框是选中状态还是非选中状态
zhengjialon 2010-05-13
  • 打赏
  • 举报
回复
位置换过不行,执行代码后,从菜单protect里去看是保护了,但是被保护的单元格还是能点进去。
dsd999 2010-05-13
  • 打赏
  • 举报
回复
代码试过没问题。

你执行代码后,从菜单protect里去看看是否保护了。
dsd999 2010-05-13
  • 打赏
  • 举报
回复
能不能把你不行的文件发给我,我看看

dsd999@sohu.com
zhengjialon 2010-05-13
  • 打赏
  • 举报
回复
你的代码我试了,换了文件也不行,光标没有变成胖十字形,用户可以点进去被保护的单元格,能看到公式。
双击单元格的时候出现提示框,我要的是用户根本双击不了
dsd999 2010-05-13
  • 打赏
  • 举报
回复
Sub protect()

Set xlapp = Application
Set xlBook = xlapp.Workbooks.Open("c:\textfile.xls")
Set xlSheet = xlBook.Worksheets(1)
xlapp.Visible = True
xlSheet.Unprotect Password:="123"

xlSheet.protect Password:="123" ', Scenarios:=True ', Contents:=True, UserInterfaceOnly:=True
xlSheet.EnableSelection = -4142
xlBook.Save
xlapp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing

End Sub


上面的代码我试过了,没问题。
dsd999 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhengjialon 的回复:]
我的目的是用代码设置成以下效果:就是把一个XLS文件加密码,加密后已锁定的单元格不能用鼠标点进去
不然几百个文档用手工设置要死人了。
[/Quote]

我明白你的意思。

我7楼的回帖意思是你的代码对你的那个文档没有生效。
Set xlBook = xlApp.Workbooks.Open("E:\Work\旧系统\销售日报表\" & rst!店名 & " 销售日报表(2010秋).xls")
你换个文件试试
zhengjialon 2010-05-13
  • 打赏
  • 举报
回复
我的目的是用代码设置成以下效果:就是把一个XLS文件加密码,加密后已锁定的单元格不能用鼠标点进去
不然几百个文档用手工设置要死人了。
ACMAIN_CHM 2010-05-12
  • 打赏
  • 举报
回复
xlSheet.EnableSelection = -4142
xlSheet.Protect Password:="123" ', Scenarios:=True ', Contents:=True, UserInterfaceOnly:=True


换下位置。

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧