Создание утилиты комментирования на уровне модуля
Следующая надстройка называется CodeDoc - Module. Как нетрудно догадаться, она включает комментарии в текущий программный модуль. Не будем тратить время на дальнейшие разговоры и займемся делом!
1. Создайте новый проект командой File > New Project.
2. Выберите значок Add-In и нажмите кнопку ОК, чтобы создать проект.
3. Задайте свойству Name созданного проекта значение CodeDocModule.
4. Откройте папку Designers в окне проекта и дважды щелкните на объекте Connect.
5. В поле Add-In Display Name введите строку CodeDoc - Module. Это имя будет отображаться в диспетчере и на панели надстроек.
6. В поле Add-In Description введите строку Приложение CodeDoc - комментирование на уровне модуля. Это описание будет отображаться в диспетчере надстроек.
7. В списке Application выберите строку Visual Basic, а в списке Application Version -строку Visual Basic 6.0. 8. В списке Initial Load Behavior выберите строку Startup. Проследите, чтобы флажок Addin is Command-Line Safe был снят. Наша надстройка обладает графическим интерфейсом и не работает в режиме командной строки.
Откройте окно программы — щелкните правой кнопкой мыши на объекте Connect и выполните команду View Code из контекстного меню.
10. В секции(General)(Declarations) удалите строкуDim mfrmAddln As New frmAddln
11. Удалите из процедуры события AddinInstance_OnDisconnection следующий фрагмент:
Unload mfrmAddln
Set mfrmAddln = Nothing
12. Примерно в середине процедуры события Addinlnstance.OnConnection замените строку
Set mcbMenuCommandBar = AdToAddInCommandBar("My Addin")
Строкой
Set mcbMenuCommandBar = AdToAddInCommandBar("CodeDoc - Module")
13. Удалите текущее содержимое функции AddToAddlnCommandBar и замените его следующим:
Function AddToAddInCommandBar(sCaption As String) As Office.CommanBarControl Dim cbMenuCommandBar As Office.CommandBarControl Dim cmd As Office.CommandBarButton Dim cbMenu As Object
Если произошла ошибка, пропустить основной код функции On Error Goto AddToAddlnCommandBarErr
Проверить, удается ли найти панель Edit If cbMenu = VBInstance.CommandBars("Edit") If cbMenu Is Nothing Then
панель недоступна, попытка закончилась неудачей Exit Function End If
Добавить кнопку на панель Set cbMenuCommadBar = cbMenu.Controls.Add(1, , , 11)
Настроить кнопку... Set cmd = cbMenuCommandBar
Скопировать значок с формы надстройки Clipboard.SetData frmAddln.picButton.Picture
Вставить значок из буфера обмена cmd.PasteFace
Снабдить его понятной подсказкой cmd.ToolTiptext = "Документировать шаблон" Set cmd = Nothing
' Вернуть ссылку на новую кнопку
Set AddToAddlnCommandBar = cbMenuCommandBar
AddToAddlnCommandBarErr:
End Function
Сохраните проект.
15. Замените содержимое процедуры Show конструктора следующим:
Sub Show()
Dim filename As String Dim x As String
' Получить имя модуля
filename = VBInstance.SelectedVBComponent. Name
' Создать комментарии x = ..... & vbCrLf & _
"' Файл: " & vbTab & vbTab & vbTab & _
filename & vbCrLf & _
"' Автор: " & vbTab & vbTab &
" Введите свое имя" & vbTab
"' Создан: " & vbTab & vbTab & _
Format$(Date$, "mm-dd-yyyy") & _
vbCrLf & " ' Описание: " & _
vbCrLf & ..... & vbTab & vbTab & _
vbTab & vbTab & "Введите " & _
"описание модуля " & _
vbCrLf & '" Обновления: " &
vbCrLf & ..... & vbTab & vbTab & _
vbTab & vbTab & "Нет" & _
vbCrLf & .....
' Вставить комментарии над всеми процедурами и объявлениями With VBInstance.ActiveCodePane
.CodeModule.InsertLines 1, x End With End Sub 16. Удалите содержимое процедуры Hide.
17. Откройте форму frmAddin двойным щелчком в соответствующей строке окна проекта.
18. Удалите с формы кнопки О К и Cancel.
19. Создайте на форме графическое поле. Задайте его свойству Name значение picButton, а свойству Visible — значение False.
ПОДСКАЗКАЗначок можно выбрать среди тех, которые поставляются с Visual Basic, или нарисовать свой собственный в стандартном графическом редакторе Paint. Если вам захочется использовать для настройки специальный значок, попробуйте загрузить файл CodeDoc App.bmp с Web-узла издательства «Питер» (www.piter-press.ru).
20. Дважды щелкните на свойстве Picture графического поля в окне свойств.
21. Выберите графическое изображение для кнопки на панели надстроек. В частности, просмотрите файлы в каталоге \Program Files\Microsoft Visual Studio\ Common\Graphics\Bitmaps\Tlbr_Win95.
22. Сохраните проект.
Откомпилируйте готовую надстройку и загрузите ее в IDE с помощью диспетчера надстроек, как это было сделано для предыдущей надстройки. После загрузки надстройки панель инструментов должна выглядеть так, как показано на рис. 18.29
Рис. 16.29. Кнопка надстройки на панели Edit
Рассмотрим работу надстройки на следующем несложном примере:
1. Откройте окно программы для модуля, в который добавляются комментарии. В нашем примере следует открыть окно программы для конструктора Connect.
2. Нажмите кнопку CodeDoc - Module на панели Edit.
3. При запуске надстройки в модуль автоматически включается блок комментариев. Его примерный вид показан на рис. 16.30.
Комментарий готов, вам остается лишь заполнить пару строк. Если в модуль будут внесены какие-либо изменения, включите их описание в комментарий. Лично я предпочитаю указывать дату, свое имя и подробное описание внесенных изменений. Рис. 16.31 поможет вам лучше понять, о чем идет речь.
Теперь у нас есть две собственные надстройки! В следующем разделе мы завершим работу над средствами документирования.
Рис. 16.30. Блок комментариев на уровне модуля
Рис. 16.31. Описание изменений в модуле