I just did this in excel to check if the MSCOMDLG was referenced, if its not then the it is added to the references. It works great. Heres my code, you'll just need to tweak a bit for Word.
*** This sub calls the function TestComDlg32Reference to *** check if the reference already exists.
*** if it doesn't a reference is made
Sub LoadComDlg32Reference()
'Call TestComDlg32Reference in IF
If TestComDlg32Reference = False Then _
ThisWorkbook.VBProject.References.AddFromFile "C:\Windows\System32\comdlg32.ocx"
Exit Sub
End Sub
Function TestComDlg32Reference() As Boolean
Dim obj
For Each obj In ThisWorkbook.VBProject.References
If UCase(obj.Name) = "MSCOMDLG" Then
TestComDlg32Reference = True
Exit For
Else
TestComDlg32Reference = False
End If
Next obj
Exit Function
End Function
... You just need to call the sub from your somewhere within your code - another sub or from startup
Crabback