VBA CreateObject

Função CreateObject no VBA

Objetos são conceitos muito importantes na codificação VBA e na compreensão de que o modelo de trabalho de um objeto é bastante complexo. Quando referimos os objetos na codificação VBA, fazemos isso de duas maneiras, ou seja, “Early Binding” e “Late Binding”. “Early Binding” é o processo de definir a referência do objeto da biblioteca de referências do VBA e quando enviamos o arquivo para outra pessoa, eles também precisam definir a referência para esses respectivos objetos. No entanto, “Late Binding” não exige que o usuário defina quaisquer referências de objeto porque na codificação de late binding nós definimos a referência para o respectivo objeto usando a função VBA “CreateObject”.

O que é CreateObject no Excel VBA?

“Criar objeto”, como o próprio nome diz, criará o objeto mencionado a partir do Excel VBA. Portanto, a função Create Object retorna a referência a um objeto iniciado por um componente Active X.

Abaixo está a sintaxe da função CreateObject no VBA

  • Classe: O nome do objeto que estamos tentando iniciar e definir a referência para a variável.
  • [Nome do servidor]: Este é um parâmetro opcional, se ignorado, usará apenas a máquina local.

Exemplo de função Criar objeto no Excel VBA

Abaixo estão os exemplos de VBA CreateObject.

Você pode baixar este modelo VBA CreateObject Excel aqui - modelo VBA CreateObject Excel

Exemplo 1

Agora veremos como iniciar o aplicativo PowerPoint a partir do Excel usando a função CreateObject no VBA. Abra o arquivo excel e vá para a janela do Editor do Visual Basic pressionando a tecla ALT + F11 .

Código:

 Sub CreateObject_Example1 () End Sub 

Declare a variável como PowerPoint.Application.

Como você pode ver acima, quando começamos a digitar a palavra “PowerPoint”, não vemos nenhuma lista do Intellisense mostrando as pesquisas relacionadas, isso porque “PowerPoint” é um objeto externo. Mas nada para se preocupar declarar a variável como “Objeto”.

Código:

 Sub CreateObject_Example1 () Dim PPT As Object End Sub 

Visto que declaramos a variável como “Objeto”, precisamos definir a referência ao objeto usando a palavra-chave “Definir”. Ao inserir a palavra-chave “Set”, mencione a variável e coloque um sinal de igual.

Código:

 Sub CreateObject_Example1 () Dim PPT As Object Set PPT = End Sub 

Agora abra a função CreateObject.

Como estamos nos referindo ao objeto externo de “PowerPoint” para o parâmetro “Class” da função Criar Objeto, mencione o nome do objeto externo entre aspas duplas como “PowerPoint.Application”.

Código:

 Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") End Sub 

Agora, a função Criar objeto iniciará o aplicativo PowerPoint. Uma vez que o objeto é iniciado, precisamos torná-lo visível usando o nome da variável.

Um dos problemas com o método Create Object ou método de ligação tardia é que não conseguimos ver a lista do intellisense no momento, você precisa estar absolutamente certo sobre o código que está escrevendo.

Para a variável “PPT” use a propriedade “Visible” e defina o estado como “True”.

Código:

 Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub 

Para adicionar um slide ao PPT, defina o código VBA da linha abaixo.

Código:

 Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub 

Agora execute o código manualmente ou através da tecla F5 e veja o aplicativo “PowerPoint” abrir.

Uma vez que o aplicativo PowerPoint é habilitado usando a variável “PPT”, podemos começar a acessar o aplicativo PowerPoint.

Exemplo # 2

Agora veremos como iniciar um aplicativo Excel usando a função CreateObject no VBA. Mais uma vez, declare a variável como “Objeto”.

Código:

 Sub CreateObject_Example2 () Dim ExcelSheet As Object End Sub 

No momento em que declaramos a variável como objeto, ela causa vinculação tardia e precisamos usar a palavra-chave “Set” para definir a referência para o objeto necessário.

Como fazemos referência à planilha do Excel no aplicativo Excel, digite “Excel.Sheet” entre aspas duplas.

Código:

 Sub CreateObject_Example2 () Dim ExcelSheet As Object Set ExcelSheet = CreateObject ("Excel.Sheet") End Sub 

Uma vez que a referência para a planilha do Excel é definida, precisamos torná-la visível para usá-la. Isso é semelhante a como tornamos o aplicativo PowerPoint visível.

Código:

 Sub CreateObject_Example2 () Dim ExcelSheet As Object Set ExcelSheet = CreateObject ("Excel.Sheet") ExcelSheet.Application.Visible = True End Sub 

Agora ele ativará a planilha do Excel.

Da mesma forma, para iniciar uma pasta de trabalho do Excel a partir de outros produtos da Microsoft, podemos usar o código abaixo.

Código:

 Sub CreateObject_Example3() Dim ExlWb As Object Set ExlWb = CreateObject("Excel.Application") ExlWb.Application.Visible = True End Sub 

Things to Remember About CreateObject in VBA

  • In VBA, the CreateObject function is used to reference objects.
  • Create Object function causes a late-binding process.
  • Using create object function we don’t get to access the intellisense list of VBA.