This service adds new functions to the spreadsheet application. After registering the component, the inserted functions can be found with help of the functions autopilot. The new functions are assigned to the category Add-in.
Like every service, this service supports basic interfaces for initializing an object directly after its creation (XInitialization), for getting information about the types (usually interface types) supported by an object (XTypeProvider), and for providing information regarding which services are implemented (XServiceInfo).
Among the above mentioned interfaces, the service also supports the interface com.sun.star.sheet.XAddIn, which is the base for AddIn services that supply functions which can be called by other components.
Any AddIn implementation must implement a service describing its specific set of functions. That service must contain the AddIn service, and the functions that are implemented, in one or more interfaces. The XServiceName interface must describe that service, and the XAddIn interface must describe the individual functions.
Each AddIn function can take parameters of the following types:
long | for integer values |
double | for floating point values |
string | for text strings |
long[][] | for (two-dimensional) arrays of integer values |
double[][] | for (two-dimensional) arrays of floating point values |
string[][] | for (two-dimensional) arrays of text strings |
any[][] | for (two-dimensional) arrays of mixed contents. Each any will contain a double or a string , depending on the data. |
any | Depending on the data, a double , a string , or an any[][] will be passed. If no argument is specified in the function call, void will be passed. This allows for optional parameters. |
XCellRange | for a XCellRange interface to the source data. |
XPropertySet | for a XPropertySet interface to the SpreadsheetDocument making the function call. Only one parameter of this type is allowed in each function. It can be used to query document settings like SpreadsheetDocumentSettings::NullDate . |
any[] | for varying parameters. Only the last parameter of a function may have this type. It will be filled with the remaining arguments of the function call that were not used for the previous parameters. Each element of the sequence will be filled as in the case of any above. |
Each AddIn function must have one of the following return types:
long
double
string
long[][]
double[][]
string[][]
any[][]
XVolatileResult
any
The sequences must contain arrays as described above for the parameter types.
An XVolatileResult return value must contain an object implementing the VolatileResult
service, that contains a volatile result. Subsequent calls with the same parameters
must return the same object. An any return value can contain any of the other
types.