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

VBA Automação 02


André Luiz Bernardes

Pergunta

Ligação Tardia / Late binding

A ligação entre a variável do objeto e o objeto ocorre no momento da execução do aplicativo.

Isso resulta em um desempenho mais lento em comparação com quando a vinculação ocorre quando o aplicativo é compilado (ligação antecipada).

Se não adicionar uma referência para o objectlibrary pertencentes ao aplicativo "estrangeiro" no qual precisa declarar as variáveis objeto geral (por exemplo, Dim oDoc As Object). Isto irá tornar mais difícil para o programa o "estrangeiro-objetos", já que o VBE não irá exibir a mesma programação de ajuda sobre as propriedades, métodos e eventos que ele exibe para os objetos pertencentes ao aplicativo que estiver trabalhando.

Este é um exemplo de código geral:

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

Dim oApp As Object ' late binding
Dim oDoc As Object ' late binding
    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 = CreateObject("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...