neodjandre
Well-known Member
- Joined
- Nov 29, 2006
- Messages
- 950
- Office Version
- 2019
- Platform
- Windows
Hello,
This code allows you to add reference to a specific library on the fly.
I would like to modify the procedure so that it takes two optional variables.
First variable should be the workbook object to apply the reference and second variable the reference's GUID string. (in the above example {00020905-0000-0000-C000-000000000046}).
Also another question, if I add some references in the VBA editor, are all these automatically applied to all subsequent workbooks I create?
many thanks
Andy
This code allows you to add reference to a specific library on the fly.
Code:
Sub AddReference()
'Macro purpose: To add a reference to the project using the GUID for the
'reference library
Dim strGUID As String, theRef As Variant, i As Long
'Update the GUID you need below.
strGUID = "{00020905-0000-0000-C000-000000000046}"
'Set to continue in case of error
On Error Resume Next
'Remove any missing references
For i = ThisWorkbook.VBProject.References.Count To 1 Step -1
Set theRef = ThisWorkbook.VBProject.References.Item(i)
If theRef.isbroken = True Then
ThisWorkbook.VBProject.References.Remove theRef
End If
Next i
'Clear any errors so that error trapping for GUID additions can be evaluated
Err.Clear
'Add the reference
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:=strGUID, Major:=1, Minor:=0
'If an error was encountered, inform the user
Select Case Err.Number
Case Is = 32813
'Reference already in use. No action necessary
Case Is = vbNullString
'Reference added without issue
Case Else
'An unknown error was encountered, so alert the user
MsgBox "A problem was encountered trying to" & vbNewLine _
& "add or remove a reference in this file" & vbNewLine & "Please check the " _
& "references in your VBA project!", vbCritical + vbOKOnly, "Error!"
End Select
On Error Goto 0
End Sub
I would like to modify the procedure so that it takes two optional variables.
First variable should be the workbook object to apply the reference and second variable the reference's GUID string. (in the above example {00020905-0000-0000-C000-000000000046}).
Also another question, if I add some references in the VBA editor, are all these automatically applied to all subsequent workbooks I create?
many thanks
Andy