Как в рабочей книге скрыть стандартные кнопки, которые отвечают за отправку книги по электронной почте?
Категория: Basic
2012-08-01 14:51:57
Для того, чтобы в нужной рабочей книге "заблокировать" использование команд, которые позволяют отправить эту книгу по электронной почте, скопируйте нижеприведённый код в модуль ThisWorkbook (ЭтаКнига) нужной рабочей книги (при необходимости перечень, содержащий ID команд, отвечающих за отправку сообщений, можно увеличить)
code: #vba
Private Sub Workbook_Activate() HiddenControls False, msoBarNoCustomize End Sub Private Sub Workbook_Deactivate HiddenControls True, msoBarNoProtection End Sub Private Sub HiddenControls(ControlVisible As Boolean, BarProtection%) Dim iControl As CommandBarControl Dim iControls As CommandBarControls '2188 "Соо&бщение (как вложение)..." '3708 "&Отправить" '3738 "&Сообщение" '30095 "&Отправить" ' CommandBars("Send To") For Each iControlID In Array(2188, 3708, 3738) Set iControls = Application.CommandBars.FindControls(ID:=iControlID) If Not iControls Is Nothing Then For Each iControl In iControls iControl.Visible = ControlVisible '.Enabled iControl.Parent.Protection = BarProtection ' Next End If Next Application.CommandBars(1).Protection = BarProtection End Sub
Если подобный финт нужно применить ко всем рабочим книгам, то замените события Workbook_Activate, Workbook_Deactivate на события Workbook_Open, Workbook_BeforeClose и расположите их, например, в модуле ThisWorkbook (ЭтаКнига) личной книги макросов "Personal.xls"
Актуально только для MS Excel 2000, XP
Поделиться: