Страница: 1 |
Страница: 1 |
Вопрос: Добаить кнопку при открытии Word
Добавлено: 24.01.08 11:42
Автор вопроса: Andrew_nik
Подскажите как можно вставить инструкцию в Normal.dot чтобі при открытии Word добавлялась кнопка в Commandbar("Standard")?
Пробовал стандартные процедуры Auto_open и Document_open - не хочет!!!
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #1
Добавлено: 24.01.08 12:14
____ Это какя-то непонятка!
____ Во-первых, надо Normal.dot открыть именно как dot.
____ Потом в процедуре Private Sub Document_Open() вставить добавку кнопки в стандартную панель. И не забыть установить признак временности, чтобы она не осталась для всех шаблонов.
____ Какой код-то у Вас?
Номер ответа: 2
Автор ответа:
Andrew_nik
Вопросов: 15
Ответов: 30
Профиль | | #2
Добавлено: 24.01.08 12:40
Код следующий: Находится в ThisDocument Normal.dot
Private Sub Auto_open()
CreateButton
End Sub
Private Sub Auto_close()
 eleteButton
End Sub
'Private Sub Document_Close()
'
'End Sub
'
'Private Sub Document_Open()
'
'End Sub
Private Sub CreateButton()
Dim MyCtrl As CommandBarControl
Set MyCtrl = Application.CommandBars("Standard".Controls.Add(1)
With MyCtrl
.Tag = "FontSizeChange"
.FaceId = 43
.OnAction = "ShowForm"
.BeginGroup = True
End With
End Sub
Private Sub DeleteButton()
On Error Resume Next
Application.CommandBars.FindControl(Tag:="FontSizeChange".Delete
End Sub
Private Sub ShowForm()
UserForm1.Show
End Sub
Насколько я понимаю Word должен при открытии подхватывать процедуру Auto_open в Normal.dot или я ошибаюсь?
Номер ответа: 3
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #3
Добавлено: 24.01.08 15:28
____ Честно говоря, про Auto_open не знаю. Что-то было в версиях до 97 года (типа процедуры AutoExec). А вот то, что Document_Open() отрабатывает — точно знаю.
____ Заходите в редакторе Visual Basic в объект "ocument" и в выпадающем списке (General) устанавливаете позицию "ocument", а в выпадающем списке событий (Declarations) выбираете из трёх вариантов: Close, New, Open и редактор Вам сам вставит код-рыбу.
____ Переменную MyCtrl вынесите из CreateButton() и тогда утичтожать можно будет проще, через неё. А лучше бы и вообще не уничтожать, а устанавливать при создании параметр Temporary в True (будет существовать объект, пока открыт документ, а потом автоматически удалится).
Номер ответа: 4
Автор ответа:
Andrew_nik
Вопросов: 15
Ответов: 30
Профиль | | #4
Добавлено: 24.01.08 16:35
Спасибо за идею с Temporary.