作者ptguitar (佩蒂吉他)
看板Office
标题[算表] 针对某个工作表禁止列印?
时间Wed Apr 19 09:50:56 2017
软体:excel
版本:2007以上
不知道有没有设定可以禁止excel某工作表列印?
我看过保护工作表 跟private worksheet内容
似乎都没有这设定可以用?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.250.67.77
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1492566658.A.15E.html
1F:→ soyoso: workbook有beforeprint事件可用,看看是否有符合 04/19 10:30
2F:→ ptguitar: 我有用到workbook不过他会针对全部工作表 ..... 04/19 10:33
3F:→ soyoso: 配合userform或inputbox之类请使用者输入,输入後再排除该 04/19 10:35
4F:→ soyoso: 工作表 04/19 10:35
5F:→ soyoso: 但如使用者是停用巨集或截图方式印出的话,则无法发挥作用 04/19 10:38
6F:→ ptguitar: 谢S大给提示 我刚试出来了 04/19 10:39
给版友若是有同样问题可以用
Private Sub WorkBook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "原始资料" Then
Cancel = True
MsgBox "原始资料工作表不能印"
End If
End Sub
※ 编辑: ptguitar (60.250.67.77), 04/19/2017 10:43:16
7F:→ soyoso: 如原po所述"他会针对全部工作表",该使用者如所在工作表并 04/19 10:48
8F:→ soyoso: 非工作表为"原始资料"时,也是适用吗? 04/19 10:49
9F:→ ptguitar: 我刚试的时候好像是这样 刚开始我只有设定cancel=true 04/19 10:58
10F:→ ptguitar: 後来发现应该要加条件才对XD 04/19 11:02
11F:→ soyoso: 测试,如回文所述"他会针对全部工作表",设定列印整本活页 04/19 11:12
12F:→ soyoso: 且不在工作表名为"原始资料"时,还是可列印工作表名为"原 04/19 11:13
13F:→ soyoso: 始资料"内的资料 04/19 11:13
14F:→ soyoso: 如"他会针对全部工作表",但是设定列印使用中的工作表,而 04/19 11:17
15F:→ soyoso: 一张一张工作表印表的条件下则是有作用 04/19 11:17
16F:→ ptguitar: 糟糕 虽说同事都是一个个印 因为那张表几百页是不用印 04/19 11:19
17F:→ ptguitar: 谢谢S大的测试 我再来看看 04/19 11:20
18F:→ soyoso: 然,如果同事是以shift方式选取连续工作表或以ctrl方式选 04/19 11:22
19F:→ soyoso: 取不连续工作表进行列印,如activate的工作表名非"原始资 04/19 11:24
20F:→ soyoso: 料"时,测试还是可输出 04/19 11:25
21F:→ soyoso: 如activate於"原始资料"反而是出现msgbox讯息,但其他应输 04/19 11:26
22F:→ soyoso: 出工作表也就不输出了 04/19 11:26