У меня есть два файла Excel (один xlam, а другой xlsm).Xlsm ссылается на xlam.
Если я открою xlsm перед открытием xlam, Excel вылетает.
Из xslm (используя любой программный метод) есть способ проверить, чтобы увидетьесли xlam открыт, а если нет, либо загрузите его динамически, либо покажите предупреждение о том, что xlam нужно сначала открыть перед выходом.
Я создал код, вызываемый из подпрограммы Workbook_Open в xlsm
Public Function checkReferences() As Boolean
On Error Resume Next
Dim retVal As Boolean
retVal = False
Dim i As Integer
For i = 1 To ThisWorkbook.VBProject.References.Count
With ThisWorkbook.VBProject.References(i)
If StrComp(.name, "PreTradeServices") = 0 Then
retVal = True
Exit For
End If
End With
Next i
checkReferences = retVal
End Function
К сожалению, Excel завершает работу до того, как будет достигнут Workbook_Open