----VisualBasic5.0 é um poderoso ambiente de desenvolvimento integrado que pode verificar automaticamente erros gramaticais e solicitar aos codificadores formatos gramaticais. Essas funções melhoram muito a eficiência da codificação. Porém, por ser uma ferramenta de desenvolvimento rápido, suas características também são destacadas na tecnologia Add-In. Usando-o, podemos fortalecer e customizar o ambiente de desenvolvimento VB: podemos adicionar automaticamente um módulo a todos os PProjects, podemos substituir um módulo em cada módulo por outro módulo, podemos encontrar um determinado trecho de código no programa e adicioná-lo; Ela substitui; em teoria, podemos até usar essa tecnologia para fazer um gerador automático de código.
----A essência da tecnologia Add-In é que o próprio ambiente de programação VB é exposto aos usuários como um modelo de objeto. Podemos usar um módulo ou um trecho de código como um objeto de operação para modificar e otimizar. Abaixo, apresentamos o uso da tecnologia Add-In através de um exemplo.
----Por exemplo, você deseja incluir este trecho de código em seu programa:
dimnIndexasinteger
nIndex=cStr(vsFlex.Texto)
Substitua por:
dimsIndexasstring
sIndex=Spread.text
----A maioria dos softwares de edição, incluindo o Word, não inclui a função de pesquisa e substituição de várias linhas, e o editor VB5.0 não é exceção.
----1. Abra o VB e selecione "AddIn" ao selecionar o tipo de projeto. Desta forma, abrimos um projeto chamado MyAddin. Altere o nome do projeto para o que desejar, como "Teste".
----2. Abra Addin.bas e você encontrará uma sub-rotina de AddToIni:
SubAddToINI()
DimErrCodeAsLong
ErrCode=WritePrivateProfileString("Add-Ins32","Myaddin.Connect","0","vbaddin.ini")
Fim Sub
----No diretório do Windows, há um arquivo chamado vbaddin.ini Cada vez que o VB é iniciado, ele determinará quais programas AddIn estão disponíveis com base nas configurações deste arquivo. A função de AddToIni é, na verdade, registrar o programa atual em vbaddin.ini. Modifique "Myaddin.Connect" para "Test.Connect" para que corresponda ao nome do projeto atual.
----3. Execute AddToIni na janela Imediata para concluir o registro do Addin atual.
----4. Abra Connect.cls, na área de declaração de variáveis: ImplementsIDTExtensibility.
----IDTExtensibility é a interface para interação entre programas VB e AddIn. Quando VB seleciona AddIdManager no menu Addin e se refere ao programa Addin atual "Test", o evento OnConnect será acionado e o programa IDTExtensibility_OnConnection() será executado. Defina um ponto de interrupção na seguinte linha:
----Debug.PrintVBInst.FullName
----Execute o programa atual.
----5. Inicie outra rotina VB para gerar StandardEXE chamado Project1. Selecione AddinManager no menu Addin, obtemos uma lista, selecionamos MyAddin e retornamos. Neste momento, o teste é iniciado e para em
----Debug.PrintVBInst.FullName
----Observe que VBInstance (VBInst) refere-se ao ambiente de desenvolvimento integrado VB (VBEObject) usando o Addin. Podemos operá-lo como um objeto. VBEObject contém VBProjects, cada VBProject contém Vbcomponents, cada VBComponent corresponde a um módulo, cada Formulário, Classe ou Módulo.
----6. Executamos na janela imediata do Teste:
----? VBInstance.ActiveProject.Name
----Você pode obter o nome do Projeto1.
----? VBInstance.ActiveProject.VBComponent(0).Nome
----Você pode obter o nome do primeiro módulo Form1 do Projeto1.
---- Até agora, explicamos basicamente a conotação técnica do AddIn. O resto é fácil de entender.
----7. No AddinManager do Project1, remova MyAddin.
----8. Modifique o teste novamente, abra frmAddin e altere.
PrivateSubOKButton_Click()
MsgBoxVBInstance.FullName
Fim Sub
Alterar para:
PrivateSubOKButton_Click()
CallmReplace()
Fim Sub
PrivateSubmReplace()
DimoProAsVBProjeto
DimoComAsVBComponent
DimbFindAsBoolean
DimnFindLineasinteger
DimnfindColasinteger
Screen.MousePointer=vbAmpulheta
OnErrorGoToerrmReplace
SetoPro=VBInstance.ActiveVBProject
'Verifica se o programa foi salvo
IfoPro.FileName=""ThenMsgBox"Salve primeiro!";ExitSub
ForEachoComInoPro.VBComponents
bLocalizar = Verdadeiro
DoWhilebFind
'Encontre o segmento de código para substituir
bFind=oCom.CodeModule.Find("dimnIndexasinteger",nFindLine,nfindCol,oCom.CodeModule.CountOfLines,500,True
IfbEncontrarEntão
IfoCom.CodeModule.Lines(nFindLine 1,1)="nIndex=cStr(vsFlex.Text)"
'Substitua depois de encontrar
oCom.CodeModule.ReplaceLine
nFindLine,"dimsIndexasstring"
oCom.CodeModule.ReplaceLine
nFindLine 1,"sIndex=Spread.text"
Outro
bLocalizar=falso
FimSe
FimSe
Laço
NextoCom
Screen.MousePointer=vbDefault
SairSub
errmSubstituir:
Bip
Screen.MousePointer=vbDefault
MsgBox"ERRO!"
Fim Sub
----9. Vamos colocar o teste em estado de execução.
----10. Se repetirmos o passo 5, haverá um item adicional "MyAddin" no menu Addin do Projeto1. Adicionamos algum código a ser substituído no Projeto1 e, em seguida, executamos MyAddin e o trabalho de substituição será concluído.
----11. Alguns amigos não querem que a palavra "MyAddin" apareça no menu Addin, mas sim um logotipo com um significado mais claro, como "Substituir". Altere ConnectClass----IDTExtensibility_OnConnection() do teste para
SetmcbMenuCommandBar=AddToAddInCommandBar("MeuAddIn")
Mude para SetmcbMenuCommandBar=AddToAddInCommandBar("substituir")
Se você deseja alterar MyAddin no AddinManager para
"Substituir", você pode abrir Connect.cls com o bloco de notas e alterar: AttributeVB_Description="MyAdd-In"
Mude para: AttributeVB_Description="Substituir"
----A introdução acima é apenas uma aplicação simples da tecnologia AddIn. Depois de compreender seu mecanismo, você pode criar suas próprias ferramentas de acordo com suas necessidades. Para alguns desenvolvedores profissionais de software de aplicativos, quanto mais ferramentas AddIn eles acumularem, maior será sua eficiência de codificação. ->