'************************************************************************* ' ' Licensed to the Apache Software Foundation (ASF) under one ' or more contributor license agreements. See the NOTICE file ' distributed with this work for additional information ' regarding copyright ownership. The ASF licenses this file ' to you under the Apache License, Version 2.0 (the ' "License"); you may not use this file except in compliance ' with the License. You may obtain a copy of the License at ' ' http://www.apache.org/licenses/LICENSE-2.0 ' ' Unless required by applicable law or agreed to in writing, ' software distributed under the License is distributed on an ' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ' KIND, either express or implied. See the License for the ' specific language governing permissions and limitations ' under the License. ' '************************************************************************* ' Be sure that all variables are dimensioned: option explicit ' REQUIRED VARIABLES for interface/service tests: 'Required for lang.XMultiServiceFactory Global cServiceName As String Global bCreateInstanceWithoutArguments As Boolean Global aArguments() As Variant Sub CreateObj() '************************************************************************* ' COMPONENT: ' fwl.FilterFactory '************************************************************************* On Error Goto ErrHndl oObj = createUnoService("com.sun.star.comp.framework.FilterFactory") Dim filterNames() As Variant filterNames = oObj.getElementNames() Dim i As Integer Dim filterType As String Dim filterProps As Object Dim filterImpl As String Dim filName As String for i = 0 to ubound(filterNames) filterProps = oObj.getByName(filterNames(i)) filterImpl = getPropertyValue(filterProps, "FilterService") if Not isNULL(filterImpl) and len(filterImpl) > 0 then filterType = getPropertyValue(filterProps, "Type") Out.log("Found filter '" + filterNames(i) + "', type: " + _ filterType + ", service name: '" + filterImpl + "'") cServiceName = filterType bCreateInstanceWithoutArguments = false Dim args(0) As new com.sun.star.beans.PropertyValue args(0).Name = "FilterName" args(0).Value = filterNames(i) endif next i Exit Sub ErrHndl: Test.Exception() End Sub Function getPropertyValue(byVal props As Variant, propName As String) As String Dim i As Integer for i = 0 to ubound(props) if props(i).Name = propName then getPropertyValue = props(i).Value exit function endif next i End Function