Ir para conteúdo
Fórum Script Brasil
  • 0

VBA Automação 01


André Luiz Bernardes

Pergunta

Quando desejar usar as funcionalidades de outros aplicativos precisará criar uma ligação a estes.

Ligação inicial / Early binding

A ligação entre a variável do objeto e o objeto ocorre no momento em que o aplicativo é compilado. Resultará numa melhor performance.

Se quiser criar uma ligação inicial precisará definí-la como uma referência à biblioteca de objetos que deseja usar antes da execução desta. Isso é feito a partir do VBE usando o menu Ferramentas (por exemplo oDoc Dim Word.Document). Isso também irá tornar o programa mais fácil para os objetos "estrangeiros", pois o VBE irá exibir a mesma programação de ajuda como propriedades, métodos e eventos onde mostra os objetos pertencentes ao aplicativo que está trabalhando.

Este é um exemplo de código em geral:

Sub OLEAutomationEarlyBinding()
' replace xxx with one of the following:
' Access, Excel, Outlook, PowerPoint or Word

Dim oApp As xxx.Application ' early binding
Dim oDoc As xxx.Document 
' Excel.Workbook, Outlook.MailItem, PowerPoint.Presentation, Word.Document
    On Error Resume Next ' ignore errors
    Set oApp = GetObject(, "xxx.Application") 
    ' reference an existing application instance
    If oApp Is Nothing Then ' no existing application is running
        Set oApp = New xxx.Application ' create a new application instance
    End If
    On Error GoTo 0 ' resume normal error handling
    If oApp Is Nothing Then ' not able to create the application
        MsgBox "The application is not available!", vbExclamation
    End If
    With oApp
        .Visible = True ' make the application object visible
        ' at this point the application is visible
        ' do something depending on the application...
        Set oDoc = .Documents.Open("c:\foldername\filename.doc")
        ' open a document
'        ...
        oDoc.Close True ' close and save the document
        .Quit ' close the application
    End With
    Set oDoc = Nothing ' free memory
    Set oApp = Nothing ' free memory
End Sub

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...