Mathieu Guindon прав, VBA нуждается в доступе, доступном для управления проектами книг, как правило, один раз дает это один раз для установки и редко его отменяет. Синди Майстер прав, ссылки хранятся в бинарной капли, поэтому сверление в xml не поможет.
Предоставить доступ (это в Excel 2016)
. Таким образом, для меня работает следующий код, поскольку предоставляется доступ. Код добавляет библиотеку Runtime Microsoft Scripting (которая является моей любимой неосновной).
Sub Test()
Dim objProj As Object 'VBIDE.VBProject
Set objProj = ThisWorkbook.VBProject
Dim vRefLoop As Variant
Dim bIsMyReferencePresent As Boolean
bIsMyReferencePresent = False
For Each vRefLoop In objProj.References
Debug.Print vRefLoop.Name
If vRefLoop.Name = "Scripting" Then
bIsMyReferencePresent = True
End If
Next
If bIsMyReferencePresent = False Then
objProj.References.AddFromFile "c:\windows\syswow64\scrrun.dll"
End If
End Sub