2012-08-03 61 views
0

我是Visual Basic的新手,但是我將一個宏組合在一起,它允許我快速爲組織中的每個部門製作信頭,然後保護頁眉和頁腳,這樣用戶只能編輯他們的字母文本。但是這會在任何類型的背後創建一個黃色背景。如何使文檔保持Visual Basic中的View.ShadeEditableRanges屬性

此代碼刪除黃色背景:

ActiveWindow.View.ShadeEditableRanges = False 

但是,一旦文件被關閉並重新打開,黃色陰影再次出現。 這也不會讓它留:

ActiveDocument.ActiveWindow.View.ShadeEditableRanges = False 

我成功創建的每一個文件打開時運行宏:

Private Sub Document_Open() 
ActiveDocument.ActiveWindow.View.ShadeEditableRanges = False 
End Sub 

這正確刪除的亮點,但是,當然,它導致大多數用戶的安全警報。這對於也將分發給外部觀衆的文檔是不希望的。

有沒有辦法讓這個設置粘在文檔上?

+0

嗯。無法重現黃色背景。你是否在代碼中設置?因爲示例文字文檔肯定會有所幫助。另請確認您使用的MS Word版本。 – 2012-08-04 01:57:27

+0

MS Word 2010. 默認顯示黃色背景。週一我重返工作崗位時,我可以發佈更多細節。 – 2012-08-04 15:14:47

+0

這裏是一個包含帶黃色背景的示例Word文檔的Dropbox文件夾:https://www.dropbox.com/sh/v6b2r6ddk9djf6a/eUdnHU1s2h/sample%20protected%20word%20document.docx – 2012-08-06 15:10:03

回答

0

如果在關閉和重新打開時屬性丟失,我會在文檔打開時進行設置。

Private Sub Document_Open() 
    ActiveDocument.ActiveWindow.View.ShadeEditableRanges = False 
End Sub 
+0

巧合的是,這與我在發佈我的問題後不久編寫的宏完全相同。不幸的是,這需要每個使用信頭的人批准宏。另外,很多人會用這個信頭以電子方式發送文檔,所以任何讀文檔的人都必須運行這個宏。 – 2012-08-04 15:17:26