Microsoft Office Online
Iniciar sessão no Meu Office Online (O que é isto?) | Iniciar sessão

 
 
Microsoft Office Access
Procurar
Procurar
 
 
 
 
Aviso: está a visualizar esta página com um browser não suportado. Este Web site funciona melhor com o Microsoft Internet Explorer 6.0 ou posterior, o Firefox 1.5 ou o Netscape Navigator 8.0 ou posterior. Mais informações sobre browsers suportados.

Função CreateObject
 

Cria e devolve uma referência a um objecto ActiveX (ActiveX Data Objects (ADO): interface de acesso a dados que comunica com origens de dados compatíveis com OLE BD para ligar, obter, manipular e actualizar dados.).

Sintaxe

CreateObject(classe [, nomedoservidor] )

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

Argumento Descrição
classe Obrigatório. Variante (Cadeia). O nome da aplicação e classe do objecto a criar.
nomedoservidor Opcional. Variante (Cadeia). O nome do servidor de rede em que o objecto será criado. Se o nomedoservidor for uma cadeia vazia (""), é utilizado o computador local.

O argumento (argumento: valor que fornece informações a uma acção, evento, método, propriedade, função ou procedimento.) classe utiliza a sintaxe nomeaplic.tipodeobjecto e é composto por três partes:

Parte Descrição
nomeaplic Obrigatório. Variante (Cadeia). O nome da aplicação que fornece o objecto.
tipodeobjecto Obrigatório. Variante (Cadeia). O tipo ou classe (classe: definição de um objecto, incluindo o respectivo nome, propriedades, métodos e todos os eventos que esse objecto possua. Quando é criada uma instância de uma classe, é criado um novo objecto com todas as características definidas por essa classe.) do objecto a criar.

Observações

Todas as aplicações que suportam automatização fornecem, pelo menos, um tipo de objecto. Por exemplo, uma aplicação de processamento de texto poderá fornecer um objecto Aplicação, um objecto Documento e um objecto Barra de Ferramentas.

Para criar um objecto ActiveX, atribua o objecto devolvido pela função CreateObject a uma variável de objecto (variável de objecto: variável que contém uma referência a um objecto.):

 Nota   Os exemplos que se seguem demonstram a utilização desta função num módulo do Visual Basic for Applications (VBA). Para mais informações sobre como trabalhar com VBA, seleccione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de procura.

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

		

Este código inicia a aplicação criando o objecto, neste caso, uma folha de cálculo do Microsoft Office Excel 2007. Depois de um objecto ser criado, é referenciado no código utilizando a variável de objecto que definiu. No exemplo seguinte, acede às propriedades (propriedade: um determinado atributo de um controlo, campo ou objecto definido para especificar uma das características do objecto (como o tamanho, cor ou localização no ecrã) ou um aspecto do respectivo comportamento (como se o objecto estivesse oculto).)e métodos (método: procedimento semelhante a uma instrução ou função que opera em objectos específicos. Por exemplo, pode aplicar o método Print ao objecto Debug para transferir a impressão para a janela Immediate.)do novo objecto utilizando a variável de objecto, ExcelSheet e outros objectos Excel, incluindo o objecto Application e o conjunto 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

		

Ao declarar uma variável de objecto com a cláusula As Object, cria uma variável que pode incluir uma referência a qualquer tipo de objecto. No entanto, acede ao objecto através da variável que é vinculada posteriormente; ou seja, a vinculação ocorre quando o programa é executado. Para criar uma variável de objecto que resulte numa vinculação anterior, ou seja, a vinculação é efectuada quando o programa está compilado, declara a variável de objecto com um ID de classe específica. Por exemplo, 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 através de uma variável de vinculação anterior pode resultar num melhor desempenho, mas só pode incluir uma referência à classe (classe: definição de um objecto, incluindo o respectivo nome, propriedades, métodos e todos os eventos que esse objecto possua. Quando é criada uma instância de uma classe, é criado um novo objecto com todas as características definidas por essa classe.) especificada na declaração (declaração: código não executável que designa uma constante, variável ou procedimento e especifica as respectivas características, tais como o tipo de dados. Para procedimentos de DLL, as declarações especificam nomes, bibliotecas e argumentos.).

É possível introduzir um objecto devolvido pela função CreateObject numa função que aguarda um objecto como um argumento. Por exemplo, o código seguinte cria e introduz uma referência a um objecto Aplicação.Excel:

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

Pode criar um objecto num computador em rede remoto, introduzindo o nome do computador no argumento nomedoservidor da função CreateObject. Esse nome é o mesmo que a parte Nome da Máquina de um nome de partilha: para uma partilha com o nome "\\MeuServidor\Público," o nomedoservidor é "MeuServidor."

 Nota    Consulte a documentação COM (consultar Microsoft Developer Network) para obter informações adicionais sobre como tornar uma aplicação visível num computador em rede remoto. Poderá ter de adicionar uma chave de registo para a aplicação.

O código seguinte devolve o número da versão de uma instância do Excel em execução num computador remoto com o nome MyServer:

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

		

Se o servidor remoto não existir ou estiver indisponível, ocorre um erro de tempo de execução.

 Nota    Utilize a função CreateObject quando não existir uma instância actual do objecto. Se já estiver em execução uma instância do objecto, é iniciada uma nova instância e é criado um objecto do tipo especificado. Para utilizar a instância actual ou iniciar a aplicação para que esta carregue um ficheiro, utilize a função GetObject.

Se um objecto se tiver registado a si próprio como um objecto de instância única, só é criada uma instância do objecto, independentemente do número de vezes que a função CreateObject é executada.

Exemplo

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

xlApp
) para o Excel. Utiliza a referência para aceder à propriedade Visível do Excel e, em seguida, utiliza o método Sair do Excel para fechá-lo. Por fim, é fechada a própria referência.

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.

		

Consulte também
anúncio