Para programadores que desejam desenvolver integrações VBA entre as aplicações do MS Office, devem necessariamente adicionar uma referência na aplicação para que a mesma funcione, é possível fazer através do próprio VBA.
As referências podem ser vistas no VBE pelo menu Ferramentas >> Referências:
A janela abaixo é mostrada:
Acima observamos como adicionar ou remover referências para que outras classes possam ser executadas no VBA.
Bem, agora que sabemos fazer isso de modo manual, vamos fazê-lo programaticamente.
O primeiro passo para adicionar uma referência é seu GUID. O GUID significa Globally Universal Identifier, e corresponde à uma sequência de 32 caracteres hexadecimais. Cada referência no VBA possui um GUID único.
Sub AllReferenceList() Dim i As Long
Debug.Print "Referência", "GUID", , , "Caminho" For i = 1 To ThisWorkbook.VBProject.References.Count With ThisWorkbook.VBProject.References(i) Debug.Print .Name, .GUID, .FullPath End With Next i End SubPode ser que obtenha o erro abaixo ao tentar executar essa rotina:
Isso acontece porque a rotina necessita ler informações do editor VBE. Por padrão, o Excel não permite que rotinas de VBA faça essa leitura. Para destravar isso, vá em Arquivo | Opções:
Uma janela aparecerá. Clique em Central de Confiabilidade e em seguida em Configurações da Central de Confiabilidade:
Uma nova janela aparecerá. Clique em Configurações de Macro, marque a Caixa de Seleção Confiar no acesso ao modelo de objeto do projeto do VBA e em seguinda clique em OK:
Execute a macro novamente. O resultado final será algo como:
Sabendo-se o GUID da referência que se deseja adicionar, use a rotina:
Sub AdicionarReferência()
Dim strGUID As String 'Mude a GUID abaixo para a referência que precisar 'Neste exemplo, a referência é ao Word 2010
Let strGUID = "{00020905-0000-0000-C000-000000000046}" 'Suprimir erros para tratá-los posteriormente
On Error Resume Next 'Adicionar referência
ThisWorkbook.VBProject.References.AddFromGuid GUID:=strGUID, Major:=1, Minor:=0 'Em caso de erro:
Select Case Err.Number
Case Is = 32813 'A referência já estava habilitada
MsgBox "A referência habilitada." _
, vbInformation _
, "Informação"
Case Is = vbNullString 'A referência foi adicionada com sucesso
MsgBox "Referência adicionada." _
, vbInformation _
, "Informação"
Case Else 'Um erro desconhecido foi encontrado MsgBox "Erro encontrado " & vbNewLine _
& "durante tentativa de adicionar referência." _
, vbCritical _
, "Erro!"
End Select
On Error GoTo 0 End Sub
Reference:: Ambienteoffice.com.br
Tags: VBA, Office, application, GUID, reference, Globally Universal Identifier,
Nenhum comentário:
Postar um comentário