Programação de Componentes de Projectos de VBA

Transcrição

Programação de Componentes de Projectos de VBA
7
Programação de Componentes
de Projectos de VBA
[…]
7.3.4. MANIPULAÇÃO PROGRAMÁTICA DE CÓDIGO DE VBA
O modelo de objectos da VBIDE contém classes que permitem criar, substituir e
apagar linhas de código de VBA em tempo de execução.
Demonstramos estas operações através de pequenos programas que referenciam
módulos standard, módulos de classe e módulos de código, associados a folhas de
cálculo e a interfaces gráficas.
Geração de código de VBA
VarModulo.AddFromString Arg1
Arg1 – variável alfanumérica
adiciona as instruções de VBA guardadas numa variável alfanumérica ao final do
módulo.
O procedimento GerarCodigo cria, no módulo standard NovoCodigo, o procedimento Mensagem.
Sub GerarCodigo()
Dim CM As CodeModule, Prog As String
Set CM=Application.VBE.ActiveVBProject.
VBComponents("NovoCodigo").CodeModule
Prog = "Public Sub Mensagem" + chr(13)
Prog = Prog + "Msgbox ""Ola, boa tarde""" + Chr(13)
Prog = Prog + "End Sub"
CM.AddFromString Prog
End Sub
Este procedimento gera, em tempo de execução, o seguinte procedimento no
módulo NovoCodigo do projecto activo:
Public Sub Mensagem()
MsgBox "Olá, boa tarde!"
End Sub
© FCA - Editora de Informática
169