Acessar objetos do Excel a partir de código VBA compilado
Ao escrever código para o compilador VBA, você deve usar explicitamente o objeto Application para acessar o modelo de objetos do Excel.
Para uma referência detalhada das propriedades e dos métodos disponíveis, consulte a documentação do Microsoft Office Dev Center.
Exemplos
Section titled “Exemplos”Referenciar um intervalo (Range)
Section titled “Referenciar um intervalo (Range)”Para referenciar uma célula ou um intervalo de células na sua planilha, você deve anteceder o objeto Range com Application.
- VBA padrão:
Range("A1:A4").Value = 2 - VBA compilado:
Application.Range("A1:A4").Value = 2
Usar funções de planilha
Section titled “Usar funções de planilha”Para usar as funções de planilha do Excel, você deve usar o objeto Application.WorksheetFunction.
Str1 = Application.WorksheetFunction.VLookup(Param1.ComboBox1, Application.Range("A2:C8"), 2, False)
Exemplo completo: converter uma macro
Section titled “Exemplo completo: converter uma macro”Aqui está uma macro VBA padrão:
Sub test() Dim qty As Integer Dim price As Single, amount As Single Range("A5").Value = "Item" ActiveCell.Offset(1, 0).Select ActiveCell.Value = InputBox("Enter the name of item") ActiveCell.Offset(0, 1).Select price = InputBox("Enter the price") ActiveCell.Value = price ' ... and so onEnd SubAqui está o mesmo código modificado para o compilador VBA do XLS Padlock. Observe a adição do objeto Application e os parâmetros explícitos para InputBox.
Sub test(Param1) Dim qty As Integer Dim price As Single, amount As Single Application.Range("A5").Value = "Item" Application.ActiveCell.Offset(1, 0).Select Application.ActiveCell.Value = Application.InputBox("Enter the name of item", "Name", "") Application.ActiveCell.Offset(0, 1).Select price = Application.InputBox("Enter the price", "Price", "") Application.ActiveCell.Value = price ' ... and so onEnd SubSeu módulo VBA original seria então modificado para chamar a versão compilada:
Sub test() res = CallXLSPadlockVBA("test", "")End Sub