作者ptguitar (佩蒂吉他)
看板Office
標題[算表] 針對某個工作表禁止列印?
時間Wed Apr 19 09:50:56 2017
軟體:excel
版本:2007以上
不知道有沒有設定可以禁止excel某工作表列印?
我看過保護工作表 跟private worksheet內容
似乎都沒有這設定可以用?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.67.77
※ 文章網址: https://webptt.com/m.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