Страница: 1 |
|
Вопрос: Как убрать, созданную панель при закрытии докум...
|
Добавлено: 30.05.03 09:51
|
|
Автор вопроса: *^angel^* | ICQ: 170236481
|
День добрый!
Помогите плз СРОЧНО.
У меня есть макрос, создающий панель; создается стандартными способами:
CODE | Dim PanelAT As CommandBar Set PanelAT = CommandBars.Add(Name:="AvtoText", Position:=msoBarTop, temporary:=True,_ menubar:=False) |
Проблема в том, что мне надо, чтобы эта панель исчезала/удалялась при закрытии документа. Именно документа, а не приложения.
Как это сделать? Помогите, пожалуйста.
Ответить
|
Номер ответа: 1 Автор ответа: iLLyuzor
ICQ: 223685087
Вопросов: 9 Ответов: 77
|
Профиль | | #1
|
Добавлено: 30.05.03 12:11
|
В области документа (Microsoft Word Objects\This Document) размести процедуру Document_Close(), например так: Sub Document_Close() Application.OrganizerDelete Source:= _ PathToNormal, Name:="AvtoText", Object:=wdOrganizerObjectCommandBars End Sub
Ответить
|
Номер ответа: 2 Автор ответа: iLLyuzor
ICQ: 223685087
Вопросов: 9 Ответов: 77
|
Профиль | | #2
|
Добавлено: 30.05.03 12:13
|
В области документа (Microsoft Word Objects\This Document) размести процедуру Document_Close(), например так: Sub Document_Close() Application.OrganizerDelete Source:= _ PathToNormal, Name:="AvtoText", Object:=wdOrganizerObjectCommandBars End Sub
Ответить
|
Номер ответа: 4 Автор ответа: iLLyuzor
ICQ: 223685087
Вопросов: 9 Ответов: 77
|
Профиль | | #4
|
Добавлено: 30.05.03 17:07
|
Извини, ангелочек, поспешил, погорячился, не объяснил, был не прав. PathToNormal - это переменная, где должен лежать путь к Normal.dot, ну или к документу, в котором содержиться панель. Я его беру так: Для документа: DocPath = IIf(Right(Application.ActiveDocument.Path, 1) = "\", _ Application.ActiveDocument.Path & Application.ActiveDocument.Name, _ Application.ActiveDocument.Path & "\" & Application.ActiveDocument.Name) Для Normal.dot: NormalPath = IIf(Right(Application.NormalTemplate.Path, 1) = "\", _ Application.NormalTemplate.Path & Application.NormalTemplate.Name, _ Application.NormalTemplate.Path & "\" & Application.NormalTemplate.Name) Удачи!
Ответить
|
Номер ответа: 5 Автор ответа: *^angel^*
ICQ: 170236481
Вопросов: 3 Ответов: 4
|
Профиль | | #5
|
Добавлено: 31.05.03 22:14
|
Сделала так, только теперь пишет, что такой панели не существует. Странно, видимо каким-то образом макрос записывается в файл templates.dot............ Как это можно проверить? Почему он туда пишется? Написала так: Public Sub Document_Close() For Each cb In CommandBars If cb.Name = "AvtoText" Then Application.OrganizerDelete Source:=NormalTemplate.Name, _ Name:="AvtoText", Object:=wdOrganizerObjectCommandBars End If Next cb End Sub и все работает........ Спасибо за помощь
Ответить
|
Номер ответа: 6 Автор ответа: USA
Вопросов: 1 Ответов: 184
|
Профиль | | #6
|
Добавлено: 02.06.03 08:01
|
Все настройки, панели, меню можно настроить в шаблоне. ПРи открытии документа на основании шаблона происходит востановление всех настроек. Сдесь помоему вообще макросы ни какие не нужны.
Ответить
|
Страница: 1 |
Поиск по форуму