NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Quer Receber Novidades e E-books Gratuitos de Excel? * Junte-se a mais de 103.000 pessoas!

Curso Grátis de Excel Avançado - Módulo 6 - Lição: VBA - Trabalhando com o objeto Application

120 Lições | Gratuito Online | Autor: Júlio Battisti


Conforme visto na lição anterior, o principal objeto da biblioteca de objetos do Excel é o objeto Application. Uma pasta de trabalho (arquivo .xls) e as diversas planilhas dessa pasta existem dentro do contexto de um objeto Application.

O objeto Application tem, ao todo, 218 propriedades e métodos. Quando estamos trabalhando dentro de uma planilha do Excel, não é preciso a criação explícita de um objeto Application. Por exemplo, se dentro do código, quisermos fazer referência a uma determinada célula, não precisamos criar um objeto Application, depois um Workbook, depois um Worksheet para, finalmente, poder acessar as células de uma planilha (objeto Worksheet). Ao invés disso, podemos fazer referência direta a célula desejada.

Com isso, o Excel supõe que estamos trabalhando com a instância atual do Excel, dentro da pasta de trabalho atual (arquivo .xls), dentro de uma das suas planilhas, o que é bastante razoável. Apenas teríamos que criar toda essa hierarquia de objetos, se quiséssemos fazer referência a uma célula de uma planilha de uma pasta de trabalho externa.

Nessa lição aprenderemos a utilizar o objeto Application. Nas próximas lições estudaremos os objetos Workbook e Worksheet, para fazer referência a células das planilhas, da pasta de trabalho atual.

O objeto Application:

O objeto Application representa todo o aplicativo Microsoft Excel, e contém:

  • Definições e opções para o aplicativo como um todo (muitas das opções da caixa de diálogo Opções (menu Ferramentas), por exemplo, são configuradas através das propriedades do objeto Application).
  • Métodos que retornem objetos do nível mais alto, como ActiveCell, ActiveSheet e assim por diante.

Uso do objeto Application: Usamos o objeto Application quando temos que configurar alguma opção do Excel, como as opções disponíveis no menu Ferramentas -> Opções, ou quando temos que acessar dados de uma planilha externa. Nesse último caso criamos um objeto Application. Em seguida, criamos um objeto Workbook associado com o arquivo .xls do qual queremos acessar dados. Em seguida usamos a coleção Worksheets e o objeto Range para acessar os dados do referido arquivo. Com isso é possível, a partir de uma planilha do Excel, fazer cálculos que envolvem dados de diversos arquivos .xls diferentes.

Vamos considerar alguns exemplos de código que usa o objeto Application.

Criar um objeto Application e usar o método Open para abrir uma planilha:

No exemplo de código a seguir, temos o uso do objeto Application para abrir um arquivo do Excel que está gravado no disco rígido:

Set xl = CreateObject("Excel.Sheet")
xl.Application.Workbooks.Open "C:\ExcelAvançado\ExApp.xls"

Nesse exemplo usamos a função CreateObject para criar um objeto do tipo Excel.Sheet, que na prática é uma planilha do Excel:

Set xl = CreateObject("Excel.Sheet")

Em seguida usamos o método Open, da coleção Workbook do objeto Application, para acessar a planilha C:\ExcelAvançado\ExApp.xls.

Exibindo uma caixa para que o usuário selecione a planilha a ser aberta:

Nesse exemplo vamos apresentar um trecho de código, o qual exibe uma janela para que o usuário selecione o arquivo a ser aberto. Uma vez feita a seleção, a planilha é aberta, usando o método Open, usado no exemplo anterior.

Set xl = CreateObject("Excel.Sheet")
ArqParaAbrir = Application.GetOpenFilename("Planilhas do Excel (*.xls), *.xls")
If ArqParaAbrir <> False Then
   MsgBox "A seguinte planilha será carregada: " & ArqParaAbrir
   xl.Application.Workbooks.Open ArqParaAbrir
End If

Vamos comentar, em detalhes, o exemplo anterior:

  1. 1. Usamos a função CreateObject para criar um objeto do tipo planilha do Excel, objeto esse que é associado com a variável xl:
Set xl = CreateObject("Excel.Sheet")
  1. 2. Agora utilizamos o método GetOpenFilename, do objeto Application. Esse método exibe a caixa de diálogo Abrir (a mesma caixa que é exibida quando você seleciona o comando Arquivo -> Abrir). O nome do arquivo selecionado nessa janela, será atribuído à variável ArqParaAbrir. Será atribuído o caminho completo, por exemplo C:\ExcelAvançado\Teste.xls.
ArqParaAbrir = Application.GetOpenFilename("Planilhas do Excel (*.xls), *.xls")

Quando essa linha for executada, será exibida a janela a seguir:

Excel Avançado em 120 Lições - Júlio Battisti

Observe que são exibidos apenas os arquivos .xls da pasta de trabalho atual. No exemplo da figura são exibidos os arquivos da pasta C:\ExcelAvançado, porque recém abri um arquivo dessa pasta. Normalmente são exibidos, por padrão, os arquivos da pasta Meus documentos. Somente são exibidos os arquivos .xls, porque definimos esse parâmetro na chamada do método GetOpenFilename("Planilhas do Excel (*.xls), *.xls")

  1. 3. Você seleciona um arquivo e clica no botão Abrir. Em seguida o código testa se realmente algum arquivo foi selecionado:
If ArqParaAbrir <> False Then
  1. 4. Caso algum arquivo tenha sido selecionado, o nome do arquivo será exibido:
MsgBox "A seguinte planilha será carregada: " & ArqParaAbrir

Conforme indicado na figura a seguir:

Excel Avançado em 120 Lições - Júlio Battisti

  1. 5. e o arquivo selecionado será aberto no Excel.

Existem dezenas de métodos e propriedades do objeto Application. Você encontra exemplos de cada método e propriedade na Ajuda do Excel. No curso de Programação VBA e Criação de Aplicativos como Excel, estudaremos mais o objeto Application.

[LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI