Справка LibreOfficeDev 26.8
Используется для объявления и определения подпрограммы, расположенной в файле DLL, которая должна выполняться из LibreOfficeDev Basic.
См. также: FreeLibrary
Declare {Sub | Function} Имя Lib "Имя_библиотеки" [Alias "Псевдоимя"] [Аргументы] [As Тип]
Имя. Имя, отличающееся от имени, определённого в библиотеке DLL, предназначенное для вызова подпрограммы из LibreOfficeDev Basic.
Псевдоимя. Имя подпрограммы, определённое в библиотеке DLL.
Имя_библиотеки. Файловое или системное имя библиотеки DLL. Эта библиотека автоматически будет загружена при первом использовании функции.
Аргументы. Список параметров, являющихся аргументами вызываемой процедуры. Тип и количество параметров зависят от вызываемой процедуры.
Тип. Определяет тип возвращаемого функцией/процедурой значения. Этот параметр можно исключить, если дескриптор типа вводится после имени.
Параметры должны сопровождаться ключевым словом ByVal, если их необходимо передавать в вызываемую процедуру по значению, а не по ссылке.
Declare Sub MyMessageBeep Lib "user32.dll" Alias "MessageBeep" ( Long )
Sub ExampleDeclare
Dim lValue As Long
lValue = 5000
MyMessageBeep( lValue )
FreeLibrary("user32.dll" )
End Sub
REM When passing arrays by reference, do not specify the type of its elements.
Declare Function GetDiag Lib "C:\\...\\Math.dll" _
Alias "GetDiag" ( _
ByVal varName As String, _
A, _
ByVal len As Long, _
ByVal FunctionName As String, _
B, _
C) As Long
Sub MyCode
Dim A(100) As Long, B(100) As Long, C(100) As Long ' arrays
R = GetDiag("f", A, 100, "g", B, C)
Print R
End Sub