作者hsnuest (Mr. Grass)
看板Visual_Basic
标题[VBA ] 其他使用者开启时,巨集不会执行?
时间Thu Feb 16 01:31:30 2012
【状况说明】
有N个使用者共同使用一个Excel档,用以登录、追踪某项工作的进度。
因为档案中设定了很多函数、格式化的条件,
为避免使用者修改这些设定,档案被设定为保护且非共用的状态。
但还是有使用者以复制贴上的方式,
将其他来源的函数、格式带到这份档案中,
使档案管理者(也就是我)非常困扰,经常要手动将函数及格式改回来。
(因为档案还要供给MIS人员分析,并定时寄送给另一个部门的人做为参考,
所以原来设定的函数及格式很重要)
为此,我写了一个巨集,在这份档案的工作表中,
禁止"贴上"这个功能(但保留选择性贴上),
但发生了一个问题:
这个巨集在我的电脑上可以正常执行,
但在其他使用者的电脑上却都没有效用,
请问各位VBA的高手,其中是不是出了甚麽错误?
【编码】
Private Sub Worksheet_Activate()
With Application
.CommandBars(3).Controls("剪下(&T)").Enabled = True
.CommandBars(3).Controls("复制(&C)").Enabled = True
.CommandBars(3).Controls("贴上(&P)").Enabled = False
.CommandBars("Cell").Controls("剪下(&T)").Enabled = True
.CommandBars("Cell").Controls("复制(&C)").Enabled = True
.CommandBars("Cell").Controls("贴上(&P)").Enabled = False
.CommandBars(1).Controls("编辑(&E)").Controls("剪下(&T)").Enabled =
True
.CommandBars(1).Controls("编辑(&E)").Controls("复制(&C)").Enabled =
True
.CommandBars(1).Controls("编辑(&E)").Controls("贴上(&P)").Enabled =
False
.OnKey "^x"
.OnKey "^c"
.OnKey "^v", ""
End With
End Sub
谢谢!
--
回忆 留给那年初夏的我们。
吉他游泳和单车 还有我的初恋
是微风里青春的颜色。
你的初吻 是给喜欢你的男生 还是你喜欢的女生。
很多很多年後的你
一定会站在一扇蓝色大门前 微笑着 看着我。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.225.7.61
※ 编辑: hsnuest 来自: 125.225.7.61 (02/16 01:48)
1F:推 ClubT:巨集可以关闭啊 安全性设定的问题吧? 02/16 08:55
2F:→ hsnuest:但是其他使用者启用巨集的情况下也没有运作呀 02/16 22:29
3F:推 yauhh:我觉得你应该处理贴上时的剪贴簿资料 02/16 22:55
4F:→ hsnuest:@yauhh 能否说明得更清楚一点呢?我曾经试图以「当贴上储 02/18 01:49
5F:→ hsnuest:存格的格式及函数设定与参照储存格不符时,就会回到贴上 02/18 01:52
6F:→ hsnuest:前的情况(回复上一步),但又觉得这样做太拐弯抹角,所以才 02/18 01:54
7F:→ hsnuest:会认为直接禁止贴上应该是釜底抽薪的方法。 02/18 01:55
8F:→ yauhh:错,禁止贴上的操作只是表面的做法,你遮得了menu遮不了剪贴簿 02/18 10:37
9F:→ yauhh:所谓釜底抽薪,是剪贴资料进来时,直接检查剪贴资料才是. 02/18 10:37
12F:→ yauhh:-of-clipboard-before-pasting 02/18 10:45