作者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