web 2.0


Automação OLE em VBA – Parte 1

Introdução:

 

Um dos principais recursos que a linguagem Visual Basic nos fornece é o suporte à tecnonogia COM, a qual podemos usar programas “dentro” de programas por meio de suas API.

Para quem quer saber mais sobre o assunto pode conferir um ótimo artigo na Wikipedia

Component Object Model (Wikipedia)

Muitas dessas API´s estão disponíveis para uso nos aplicativos do Office por meio do VBA. Outras, no entanto, não funcionam em VBA apesar de estarem listadas na caixa de dialogo Ferramentas > Referencias.

Apresento na lista a seguir algumas das bibliotecas de objetos disponiveis, as quais podemos usar.

Biblioteca Descrição
Windows Scripting Runtime Contém objetos de manipulação do sistema de arquivos do Windows.
Ler arquivos txt, criar, excluir, listar arquivos em pasta são alguns dos seus recursos.
Microsoft Shell Controls And Automation Idem ao Scripting Runtime, porem com recursos de manipulação do Windows Explorer
Microsoft Internet Controls Usado para automatizar objetos no Internet Explorer
Windows Script Host Object Model Usado para usar os mesmos objetos que o processador de scrips do windows usa.
Com essa API é possível criar atalhos para arquivos no Windows
Windows Media Player Automatiza o Windows Media Playe
Microsoft Office [xx] Type Library Automatiza qualquer programa do Office
   

 

Nos proximos artigos apresentarei alguns macetes de como aproveitar o poder desse recurso.

Até a proxima !

Att. Adelson RM Silva

Tags: , , ,

Microsoft Office | VBA

Comentários

Robert Martim Brasil, on 9/2/2010 22:09:36 Said:

Robert Martim

Dá um exemplo para nós aí no uso do WSR.

Adelson Silva Brasil, on 11/2/2010 8:08:28 Said:

Adelson Silva

O uso do WSR pode ser destinado para algumas operações do sistema de arquivos
- Listar subpastas em um pasta
- Listar arquivos em um pasta
- Recuperar informações sobre arquivos, pastas e drivers
- Etc.

um ex. basico para listar arquivos dentro de uma pasta

Sub ListaArquivos()
   Dim Fso as New FileSystemObject,oPasta as Folder,oArquivo as File
  
   set oPasta = Fso.GetFolder("C:\Windows")
    
   For Each oArquivo in oPasta.Files
       Debug.Print oArquivo.Name
   Next

End Sub

Os comentários estão fechados