Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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)


Проблема в том, что мне надо, чтобы эта панель исчезала/удалялась при закрытии документа. Именно документа, а не приложения. 

Как это сделать? Помогите, пожалуйста.

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 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

Ответить

Номер ответа: 3
Автор ответа:
 *^angel^*



ICQ: 170236481 

Вопросов: 3
Ответов: 4
 Профиль | | #3 Добавлено: 30.05.03 13:13

Сделала, но пишется ошибка:

"Файл не найден",

 и идет на эту строчку - Application.OrganizerDelete Source:=PathToNormal, Name:="AvtoText", Object:=wdOrganizerObjectCommandBars

Ответить

Номер ответа: 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 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам