Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 12498|回复: 9

[已解决]求取消共享工作簿的VBA代码?(已经解决!)

[复制链接]
发表于 2010-2-21 16:03 | 显示全部楼层 |阅读模式

请告诉“取消共享工作簿”的VAB代码!谢谢!!下面的连接说:共享工作簿中如何运行VBA代码,我怎么试验不成功,可行的话,请把改动的代码贴给我!谢谢!!

http://blog.sina.com.cn/s/blog_5509299a0100cjlk.html

[此贴子已经被作者于2010-2-24 18:03:42编辑过]
最佳答案
2010-2-22 23:11

楼主要的是“撤销对共享工作簿的保护”这个命令吧,应该这样:

以下代码是打开工作簿后“撤销对共享工作簿的保护”,这个时候工作簿不会再共享,并且不会锁定,如果楼主需要再锁定的话,那就在后面再添加锁定而不共享的代码


Private Sub Workbook_Open()
    '解开“锁定并共享工作簿”功能的代码,原锁定密码为“1”
    Application.DisplayAlerts = False
    If ThisWorkbook.MultiUserEditing Then
        ThisWorkbook.UnprotectSharing ("1")
    End If
    Application.DisplayAlerts = True
    '对工作簿重新锁定而不共享,密码为"1"
    ThisWorkbook.Protect Password:="1", Structure:=True, Windows:=False
End Sub

顺带一提,楼主的“保护并共享工作簿”的代码是这样的:

 ThisWorkbook.ProtectSharing Filename:=ThisWorkbook.Path & "\保护工作簿.xls", Password:="1"


[此贴子已经被作者于2010-2-22 23:29:15编辑过]
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2010-2-21 17:39 | 显示全部楼层

给的链接是对的。

将以下代码放入文件中,按按钮来执行可看到效果(代码源自你给的链接):

Sub test()
If ActiveWorkbook.MultiUserEditing Then
    Application.DisplayAlerts = False
    ThisWorkbook.ExclusiveAccess
    Application.DisplayAlerts = True
Else
    Application.DisplayAlerts = False
    ThisWorkbook.SaveAs , , , , , , xlShared
    Application.DisplayAlerts = True
End If
End Sub

回复

使用道具 举报

 楼主| 发表于 2010-2-21 21:44 | 显示全部楼层

QUOTE:
引用错了
[此贴子已经被作者于2010-2-21 21:47:11编辑过]
回复

使用道具 举报

 楼主| 发表于 2010-2-21 21:47 | 显示全部楼层

QUOTE:
以下是引用青城山苦丁茶在2010-2-21 17:39:00的发言:

给的链接是对的。

将以下代码放入文件中,按按钮来执行可看到效果(代码源自你给的链接):

Sub test()
If ActiveWorkbook.MultiUserEditing Then
    Application.DisplayAlerts = False
    ThisWorkbook.ExclusiveAccess
    Application.DisplayAlerts = True
Else
    Application.DisplayAlerts = False
    ThisWorkbook.SaveAs , , , , , , xlShared
    Application.DisplayAlerts = True
End If
End Sub

谢谢!!

它只能用来取消:“工具—共享工作簿”这一级别的工作簿共享。取消不了在这基础之上的“工具—保护—保护共享工作簿”的这种情况共享!

请你研究一下,把代码贴给我!

再谢!

[此贴子已经被作者于2010-2-21 21:48:11编辑过]
回复

使用道具 举报

发表于 2010-2-22 23:11 | 显示全部楼层    本楼为最佳答案   

楼主要的是“撤销对共享工作簿的保护”这个命令吧,应该这样:

以下代码是打开工作簿后“撤销对共享工作簿的保护”,这个时候工作簿不会再共享,并且不会锁定,如果楼主需要再锁定的话,那就在后面再添加锁定而不共享的代码


Private Sub Workbook_Open()
    '解开“锁定并共享工作簿”功能的代码,原锁定密码为“1”
    Application.DisplayAlerts = False
    If ThisWorkbook.MultiUserEditing Then
        ThisWorkbook.UnprotectSharing ("1")
    End If
    Application.DisplayAlerts = True
    '对工作簿重新锁定而不共享,密码为"1"
    ThisWorkbook.Protect Password:="1", Structure:=True, Windows:=False
End Sub

顺带一提,楼主的“保护并共享工作簿”的代码是这样的:

 ThisWorkbook.ProtectSharing Filename:=ThisWorkbook.Path & "\保护工作簿.xls", Password:="1"


[此贴子已经被作者于2010-2-22 23:29:15编辑过]
回复

使用道具 举报

发表于 2010-2-22 23:17 | 显示全部楼层

楼主的要求前后不一样,第一次要求的是“取消共享工作簿”,那苦丁茶的代码没问题,而楼主第二次要求的是“撤销对共享工作簿的保护”的代码,根本就是两个完全不同的操作,因此以后提问请先把问题问清楚。

PS:

先“共享”工作簿,然后再“保护共享工作簿”,这是两步操作;

“保护并共享工作簿”,这是一步操作;

以上两个操作是完全不同的。

回复

使用道具 举报

 楼主| 发表于 2010-2-23 13:51 | 显示全部楼层

QUOTE:
以下是引用uranus1997在2010-2-22 23:11:00的发言:

楼主要的是“撤销对共享工作簿的保护”这个命令吧,应该这样:

以下代码是打开工作簿后“撤销对共享工作簿的保护”,这个时候工作簿不会再共享,并且不会锁定,如果楼主需要再锁定的话,那就在后面再添加锁定而不共享的代码


Private Sub Workbook_Open()
    '解开“锁定并共享工作簿”功能的代码,原锁定密码为“1”
    Application.DisplayAlerts = False
    If ThisWorkbook.MultiUserEditing Then
        ThisWorkbook.UnprotectSharing ("1")
    End If
    Application.DisplayAlerts = True
    '对工作簿重新锁定而不共享,密码为"1"
    ThisWorkbook.Protect Password:="1", Structure:=True, Windows:=False
End Sub

顺带一提,楼主的“保护并共享工作簿”的代码是这样的:

 ThisWorkbook.ProtectSharing Filename:=ThisWorkbook.Path & "\保护工作簿.xls", Password:="1"

很敬佩喵老师的耐性![em04]是我对二者没有区分开,学习了!谢谢!谢谢!!



[em04][em23]
[此贴子已经被作者于2010-2-23 13:52:51编辑过]
回复

使用道具 举报

 楼主| 发表于 2010-2-23 16:23 | 显示全部楼层

QUOTE:
以下是引用uranus1997在2010-2-22 23:11:00的发言:

谢谢!!!!!!![em23][em17][em23]






[此贴子已经被作者于2010-2-24 18:05:39编辑过]

51cLnHA7.rar

13.56 KB, 下载次数: 101

gsv9zPrP.rar

12.4 KB, 下载次数: 57

回复

使用道具 举报

发表于 2010-2-24 16:01 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2016-5-14 10:05 | 显示全部楼层
uranus1997 发表于 2010-2-22 23:11
楼主要的是“撤销对共享工作簿的保护”这个命令吧,应该这样:以下代码是打开工作簿后“撤销对共享工作簿的 ...

您好!请问一下
1、“保护并共享当前工作簿”的代码怎么写?
2、给当前工作簿的工程(VBA)设置密码的代码怎么写?

谢谢谢谢!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-15 21:33 , Processed in 0.231284 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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