Beto,
Rotina funciona quando a referencia não está instalada, mas quando já está gera um erro de conflito dizendo que a biblioteca ja exite .
como resolver isso?
A principio esta rotina funciona corretamente, existindo ou não a Referencia, se analisar as Condições "IFs" ou seja :
If bRef = False Then
Só será instalada se não existir, portanto, primeiramente passe em uqal versão do Excel (office) está utilizando, depois verifique se o Nome da Referencia digitado corresponde com o que se encontra na caixa Referencias do VBE.
Um ajuste na Rotina acima irá listar em uma aba as referencias instaladas, será mais fácil para verificar se o nome está digitado corretamente.
Private Sub ListaReferencias()
Dim bRef As Boolean
Dim i As Integer, iNref As Integer
Dim iLin As Integer
iLin = 1
ActiveSheet.Cells(iLin, 1).Value = "Referencias"
bRef = False
iNref = Application.VBE.ActiveVBProject.References.Count
For i = 1 To iNref
If Application.VBE.VBProjects("VBAProject").References.Item(i).Description = "Microsoft Windows Common Controls-2 6.0 (SP3)" Then
bRef = True
End If
iLin = iLin + 1
' MsgBox Application.VBE.VBProjects("VBAProject").References.Item(i).Description
ActiveSheet.Cells(iLin, 1).Value = Application.VBE.VBProjects("VBAProject").References.Item(i).Description
Next
If bRef = False Then
Application.VBE.ActiveVBProject.References.AddFromFile ThisWorkbook.Path & "MSCOMCT2.OCX"
End If
'esta biblioteca é muito boa. Contém um controle Calendário
'bastante flexível, inclusive de horas
End Sub
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 25/06/2013 6:17 am