Função CreateObject

Observação: Desejamos fornecer o conteúdo da Ajuda mais recente no seu idioma da forma mais rápida possível. Esta página foi traduzida de forma automatizada e pode conter imprecisões ou erros gramaticais. Nosso objetivo é que este conteúdo seja útil para você. No final da página, deixe sua opinião se estas informações foram úteis para você. Aqui está o artigo em inglês para facilitar a referência.

Observação: A função, o método, o objeto ou a propriedade descrito neste tópico será desabilitado se o Microsoft Jet Expression Service estiver em execução no modo de área restrita, o que impede a avaliação de expressões potencialmente perigosas. Para obter mais informações sobre o modo de área restrita, procure por "modo seguro" na ajuda.

Cria e retorna uma referência a um objeto ActiveX.

Sintaxe

CreateObject ( classe [, ServerName] )

A sintaxe da função CreateObject tem os seguintes argumentos:

Argumento

Descrição

classe

Obrigatório. Variante (Cadeia de caracteres). O nome do aplicativo e a classe do objeto a ser criado.

nomedoservidor

Opcional. Variante (Cadeia de caracteres). O nome do servidor de rede onde o objeto será criado. Se o nomedoservidor for uma cadeia de caracteres vazia (""), o computador local será usado.


A classeargumento usa o AppNameda sintaxe.objecttype e tem as seguintes partes:

Parte

Descrição

AppName

Obrigatório. Variante (Cadeia de caracteres). O nome do aplicativo que fornece o objeto.

tipodeobjeto

Obrigatório. Variante (Cadeia de caracteres). O tipo ou classe do objeto a ser criado.


Comentários

Todos os aplicativos que dão suporte à automação fornecem pelo menos um tipo de objeto. Por exemplo, um aplicativo de processamento de texto pode fornecer um objeto Application , um objeto Document e um objeto Toolbar .

Para criar um objeto ActiveX, atribua o objeto retornado por CreateObject a um variável de objeto:

Observação: Exemplos a seguir demonstram o uso dessa função em um módulo do Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione referência do desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.

' Declare an object variable to hold the object 
' reference. Dim as Object causes late binding.
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")

Neste exemplo, vamos automatizar um objeto de planilha do Excel de dentro de um banco de dados do Access. Esse código inicia o aplicativo que cria o objeto, nesse caso, uma planilha do Microsoft Excel. Após a criação de um objeto, faça referência a ele no código usando a variável de objeto que você definiu. No exemplo a seguir, você acessa Propriedades e métodos do novo objeto usando a variável Object, ExcelSheete outros objetos do Excel, incluindo o objeto Application e a coleção Cells .

' Make Excel visible through the Application object.
ExcelSheet.Application.Visible = True
' Place some text in the first cell of the sheet.
ExcelSheet.Application.Cells(1, 1).Value = "This is column A, row 1"
' Save the sheet to C:\test.xls directory.
ExcelSheet.SaveAs "C:\TEST.XLS"
' Close Excel with the Quit method on the Application object.
ExcelSheet.Application.Quit
' Release the object variable.
Set ExcelSheet = Nothing

Declarar uma variável de objeto com a cláusula As Object cria uma variável que pode conter uma referência a qualquer tipo de objeto. No entanto, o acesso ao objeto por meio dessa variável é de associação tardia; ou seja, a associação ocorre quando o programa é executado. Para criar uma variável de objeto que resulte em associação inicial, ou seja, associação quando o programa é compilado, declare a variável de objeto com uma ID de classe específica. Por exemplo, você pode declarar e criar as seguintes referências do Excel:

Dim xlApp As Excel.Application 
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorkSheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

A referência por meio de uma variável de associação antecipada pode dar melhor desempenho, mas só pode conter uma referência para o classe especificado no declaração.

Você pode passar um objeto retornado pela função CreateObject para uma função esperando um objeto como um argumento. Por exemplo, o código a seguir cria e passa uma referência a um objeto Excel. Application:

Call MySub (CreateObject("Excel.Application"))

Você pode criar um objeto em um computador remoto em rede passando o nome do computador para o argumento ServerName de CreateObject. Esse nome é o mesmo que a parte do nome do computador de um nome de compartilhamento: para um compartilhamento chamado "\\MyServer\Public", o nomedoservidor é "meuservidor".

Observação:  Consulte a documentação COM (consulte Microsoft Developer Network) para obter informações adicionais sobre como tornar um aplicativo visível em um computador remoto em rede. Talvez seja necessário adicionar uma chave do registro para seu aplicativo.

O código a seguir retorna o número da versão de uma instância do Excel em execução em um computador remoto chamado MyServer:

Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer")
Debug.Print xlApp.Version

Se o servidor remoto não existir ou não estiver disponível, ocorrerá um erro em tempo de execução.

Observação:  Use CreateObject quando não houver uma instância atual do objeto. Se uma instância do objeto já estiver em execução, uma nova instância será iniciada e um objeto do tipo especificado será criado. Para usar a instância atual ou iniciar o aplicativo e fazer com que ele carregue um arquivo, use a função GetObject.

Se um objeto tiver se registrado como um objeto de instância única, apenas uma instância do objeto será criada, independentemente de quantas vezes o CreateObject for executado.

Exemplo

Este exemplo usa a função CreateObject para definir uma referência (

xlApp

) para o Excel. Ele usa a referência para acessar a propriedade Visible do Excel e, em seguida, usa o método Quit do Excel para fechá-lo. Por fim, a referência em si é liberada.

Dim xlApp As Object    ' Declare variable to hold the reference.
Set xlApp = CreateObject("excel.application")
' You may have to set Visible property to True
' if you want to see the application.
xlApp.Visible = True
' Use xlApp to access Microsoft Excel's
' other objects.
xlApp.Quit ' When you finish, use the Quit method to close
Set xlApp = Nothing ' the application, then release the reference.
Expanda suas habilidades no Office
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider