Как загрузить XLL и зарегистрировать все функции и команды, содержащиеся в этом файле, а также получить список всех зарегистрированных функций?

Для того, чтобы загрузить XLL и автоматически зарегистрировать все функции и команды, содержащиеся в этом ресурсе, можно использовать метод RegisterXLL объекта Application, например:

code: #vba
Application.RegisterXLL Application.LibraryPath & "\Analysis\ANALYS32.XLL"
code: #vba
Application.RegisterXLL FileName:=Application.LibraryPath & "\Analysis\ANALYS32.XLL"

Получить же список всех зарегистрированных функций можно с помощью свойства RegisteredFunctions объекта Application

code: #vba
Application.RegisterXLL Application.LibraryPath & "\Analysis\ANALYS32.XLL"
 
iArray = Application.RegisteredFunctions
If IsArray(iArray) = True Then
   Range("A1").Resize(UBound(iArray), 3).Value = iArray
   Range("A:C").EntireColumn.AutoFit 'Columns("A:C").AutoFit
Else
   MsgBox "Странно ... но зарегистрированных функций, нет"
End If
code: #vba
iFileName$ = Application.LibraryPath & "\Analysis\ANALYS32.XLL"
Application.RegisterXLL FileName:=iFileName$
 
iArray = Application.RegisteredFunctions
If Not IsNull(iArray) Then
   Cells(1, 1).Resize(UBound(iArray), 3).Value = iArray
Else
   MsgBox "Зарегистрированных функций, нет"
End If
code: #vba
iFileName$ = Application.LibraryPath & "\Analysis\ANALYS32.XLL"
 
If Application.RegisterXLL(iFileName$) = True Then
   iArray = Application.RegisteredFunctions
   Cells(1).Resize(UBound(iArray), 3) = iArray
Else
   MsgBox "Загрузки XLL и регистрации функций, не произошло"
End If

Если стандартная надстройка "Пакет анализа" или "Analysis ToolPak" подключена(загружена), то, фактически, в повторном использовании Application.RegisterXLL "ANALYS32.XLL" нет особого смысла.

Поделиться:

Похожие статьи: