----VisualBasic5.0 — это мощная интегрированная среда разработки, которая может автоматически проверять наличие грамматических ошибок и предлагать программистам грамматические форматы. Эти функции значительно повышают эффективность кодирования. Однако, как инструмент быстрой разработки, его характеристики также выделены в технологии надстроек. С его помощью мы можем усилить и настроить среду разработки VB: мы можем автоматически добавлять модуль во все PProjects, мы можем заменить модуль в каждом модуле другим модулем, мы можем найти определенный фрагмент кода в программе и добавить его; Он заменяет ее; теоретически мы можем даже использовать эту технологию для создания автоматического генератора кода.
----Суть технологии надстроек заключается в том, что сама среда программирования VB предоставляется пользователям как объектная модель. Мы можем использовать модуль или фрагмент кода в качестве объекта операции для изменения и оптимизации. Ниже мы познакомим вас с использованием технологии надстроек на примере.
----Например, вы хотите включить в свою программу этот фрагмент кода:
dimnIndexasinteger
nIndex=cStr(vsFlex.Text)
Заменить на:
dimsIndexasstring
sIndex=Распространение.текст
----Большинство программ для редактирования, включая Word, не поддерживают функцию многострочного поиска и замены, и редактор VB5.0 не является исключением. Что мне делать?
----1. Откройте VB и выберите «AddIn» при выборе типа проекта. Таким образом мы открыли проект под названием MyAddin. Измените имя проекта на желаемое, например «Тест».
----2. Откройте Addin.bas, и вы найдете подпрограмму AddToIni:
СубAddToINI()
DimErrCodeAsLong
ErrCode=WritePrivateProfileString("Add-Ins32","Myaddin.Connect","0","vbaddin.ini")
EndSub
----В каталоге Windows есть файл vbaddin.ini. При каждом запуске VB определяет, какие программы AddIn доступны, на основе настроек этого файла. Функция AddToIni фактически заключается в регистрации текущей программы в vbaddin.ini. Измените «Myaddin.Connect» на «Test.Connect», чтобы оно соответствовало текущему имени проекта.
----3. Выполните AddToIni в окне интерпретации, чтобы завершить регистрацию текущего дополнения.
----4. Откройте Connect.cls в области объявления переменных: ImplementsIDTExtensibility.
----IDTExtensibility — это интерфейс для взаимодействия между программами VB и AddIn. Когда VB выбирает AddIdManager в меню Addin и ссылается на текущую программу Addin «Test», запускается событие OnConnect и выполняется программа IDTExtensibility_OnConnection(). Установите точку останова на следующей строке:
----Debug.PrintVBInst.FullName
----Запустите текущую программу.
----5. Запустите другую процедуру VB для создания StandardEXE с именем Project1. В меню Addin выбираем AddinManager, получаем список, выбираем MyAddin и возвращаемся. В это время тест запускается и останавливается на
----Debug.PrintVBInst.FullName
----Обратите внимание, что VBInstance (VBInst) относится к интегрированной среде разработки VB (VBEObject) с использованием надстройки. Мы можем управлять им как объектом. VBEObject содержит VBProjects, каждый VBProject содержит компоненты Vb, каждый VBComponent соответствует модулю, каждой форме, классу или модулю.
----6. Выполняем в ближайшем окне Test:
----? VBInstance.ActiveProject.Name
----Вы можете получить имя Project1.
----? VBInstance.ActiveProject.VBComponent(0).Имя
----Вы можете получить имя первого модуля Form1 Project1.
----До сих пор мы в основном объяснили техническую составляющую AddIn. Остальное легко понять.
----7. В AddinManager Project1 удалите MyAddin.
----8. Снова измените Test, откройте frmAddin и измените.
PrivateSubOKButton_Click()
MsgBoxVBInstance.FullName
EndSub
Изменить на:
PrivateSubOKButton_Click()
CallmReplace()
EndSub
ПриватСубмReplace()
ДимоПроАсВБПроект
ДимоКомАсВБКомпонент
DimbFindAsBoolean
DimnFindLineasinteger
DimnfindColasinteger
Screen.MousePointer=vbHourglass
ОнErrorGoToerrmReplace
SetoPro=VBInstance.ActiveVBProject
'Проверяем, сохранилась ли программа
IfoPro.FileName=""ThenMsgBox"Сначала сохраните!";ExitSub
ФорЕачоКомИноПро.ВБКомпонентс
бНайти=Истина
DoWhilebFind
'Находим сегмент кода для замены
bFind=oCom.CodeModule.Find("dimnIndexasinteger",nFindLine,nfindCol,oCom.CodeModule.CountOfLines,500,True
ЕслибНайтиТо
IfoCom.CodeModule.Lines(nFindLine 1,1)="nIndex=cStr(vsFlex.Text)"
'Заменить после нахождения
oCom.CodeModule.ReplaceLine
nFindLine, "dimsIndexasstring"
oCom.CodeModule.ReplaceLine
nFindLine 1, "sIndex=Spread.text"
Еще
бНайти = ложь
КонецЕсли
КонецЕсли
Петля
NextoCom
Screen.MousePointer=vbDefault
ВыходSub
эрмЗаменить:
Звуковой сигнал
Screen.MousePointer=vbDefault
MsgBox"ОШИБКА!"
EndSub
----9. Переведем тест в рабочее состояние.
----10. Если повторить шаг 5, в меню надстроек Project1 появится дополнительный пункт «MyAddin». Мы добавляем код для замены в Project1, а затем выполняем MyAddin, и работа по замене будет завершена.
----11. Некоторые друзья не хотят, чтобы в меню надстроек появлялось слово «MyAddin», а был логотип с более четким значением, например «Заменить». Измените ConnectClass ----IDTExtensibility_OnConnection() на
SetmcbMenuCommandBar=AddToAddInCommandBar("MyAddIn")
Измените на SetmcbMenuCommandBar=AddToAddInCommandBar("заменить").
Если вы хотите изменить MyAddin в AddinManager на
«Заменить», вы можете открыть Connect.cls с помощью блокнота и изменить: AttributeVB_Description="MyAdd-In"
Измените на: AttributeVB_Description="Заменить"
----Приведенное выше введение представляет собой простое применение технологии AddIn. Поняв ее механизм, вы можете создавать свои собственные инструменты в соответствии с вашими потребностями. Для некоторых профессиональных разработчиков прикладного программного обеспечения, чем больше инструментов AddIn они накопит, тем выше будет эффективность их кодирования. ->