Code:
Option Compare Database
Private Sub Command2_Click()
'Variable Declarations
Dim version As Integer
Dim chkRef As Reference
Dim strRef As String
Dim match As Boolean
match = False
'Check version, seperate on case by case basis with if statements
version = Application.version
'Deal with 2010
If version = 14 Then
'Look for VBA Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "VBA" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\PROGRA~2\COMMON~1\MICROS~1\VBA\VBE7.DLL")
MsgBox (" Added reference C:\PROGRA~2\COMMON~1\MICROS~1\VBA\VBE7.DLL")
End If
match = False
'Look for Access Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "Access" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Program Files (x86)\Microsoft Office\Office14\MSACC.OLB")
MsgBox (" Added reference C:\Program Files (x86)\Microsoft Office\Office14\MSACC.OLB ")
End If
match = False
'Look for OLE Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "stdole" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Windows\SysWOW64\stdole2.tlb")
MsgBox (" Added reference C:\Windows\SysWOW64\stdole2.tlb ")
End If
match = False
'Look for DAO Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "DAO" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\ACEDAO.DLL")
MsgBox (" Added reference C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\ACEDAO.DLL")
End If
match = False
'Look for Office Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "Office" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\MSO.DLL")
MsgBox (" Added reference C:\Program Files (x86)\Common Files\ Microsoft Shared\OFFICE14\MSO.DLL")
End If
match = False
'Look for Word Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "Word" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Program Files (x86)\Microsoft Office\Office14\MSWORD.OLB")
MsgBox (" Added reference C:\Program Files (x86)\Microsoft Office\Office14\MSWORD.OLB")
End If
match = False
'Look for Excel Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "Excel" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE")
MsgBox (" Added reference C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE")
End If
match = False
'Look for OutLook Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "Outlook" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Program Files (x86)\Microsoft Office\Office14\MSOUTL.OLB")
MsgBox (" Added reference C:\Program Files (x86)\Microsoft Office\Office14\MSOUTL.OLB")
End If
match = False
'Look for ADODB Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "ADODB" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Program Files (x86)\Common Files\System\ado\msado15.dll")
MsgBox (" Added reference C:\Program Files (x86)\Common Files\System\ado\msado15.dll")
End If
match = False
'Look for Scripting Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "Scripting" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Windows\SysWow64\scrrun.dll")
MsgBox (" Added reference C:\Windows\SysWow64\scrrun.dll")
End If
match = False
'Look for Common Controls Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "MSComctlLib" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Windows\SysWow64\MSCOMCTL.OCX")
MsgBox (" Added reference C:\Windows\SysWow64\MSCOMCTL.OCX")
End If
match = False
'Deal with 2007
ElseIf version = 12 Then
'Deal with 2003
ElseIf version = 11 Then
'Look for VBA Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "VBA" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Program Files\Common Files\Microsoft Shared\vba\vba6\vbe6.dll")
MsgBox (" Added reference C:\Program Files\Common Files\Microsoft Shared\vba\vba6\vbe6.dll")
End If
match = False
'Look for Access Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "Access" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Program Files\Microsoft Office\Office11\msacc.olb")
MsgBox (" Added reference C:\Program Files\Microsoft Office\Office11\msacc.olb ")
End If
match = False
'Look for OLE Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "stdole" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Windows\system32\stdole2.tlb")
MsgBox (" Added reference C:\Windows\system32\stdole2.tlb ")
End If
match = False
'Look for DAO Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "DAO" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\program files\common files\microsoft shared\dao\dao360.dll")
MsgBox (" Added reference C:\program files\common files\microsoft shared\dao\dao360.dll")
End If
match = False
'Look for Office Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "Office" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Program Files\Common Files\Microsoft Shared\Office12\MSO.DLL")
MsgBox (" Added reference C:\Program Files\Common Files\Microsoft Shared\Office12\MSO.DLL")
End If
match = False
'Look for Word Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "Word" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("E:\Program Files\Microsoft Office\Office11\MSWORD.OLB")
MsgBox (" Added reference C:\Program Files\Microsoft Office\Office11\MSWORD.OLB")
End If
match = False
'Look for Excel Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "Excel" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("E:\Program Files\Microsoft Office\Office11\EXCEL.EXE")
MsgBox (" Added reference C:\Program Files\Microsoft Office\Office11\EXCEL.EXE")
End If
match = False
'Look for OutLook Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "Outlook" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("E:\Program Files\Microsoft Office\Office11\msoutl.olb")
MsgBox (" Added reference C:\Program Files\Microsoft Office\Office11\msoutl.olb")
End If
match = False
'Look for ADODB Reference, if found do nothing, if its missing add it
For Each chkRef In References
strRef = chkRef.Name
If strRef = "ADODB" Then
match = True
End If
Next chkRef
If match = False Then
References.AddFromFile ("C:\Program Files\Common Files\System\ado\msado15.dll")
MsgBox (" Added reference C:\Program Files\Common Files\System\ado\msado15.dll")
End If
match = False
'Give the user an error message if version not handled
Else
MsgBox (" Access Version not recognized, update failed.")
End If
End Sub