Jump to content

API/Samples/StarBasic/ListOfFilterName

From The Document Foundation Wiki

Description: To get a list of Filter Name in LibreOffice, the property of Filter Name used to import and export has to be exactly matched to the name in the list. This snippet will open a new ODT document and append the list to the document.


Note: This macro was taken from a thread at http://www.oooforum.org/forum/viewtopic.phtml?t=3549, it was discussed for OpenOffice.org 1.1rc1, but it still works with OpenOffice version 4.1.

REM  *****  BASIC  *****
Sub Main
   oFF = createUnoService( "com.sun.star.document.FilterFactory" )
   oFilterNames = oFF.getElementNames()
   
   ' Now print the filter names.
'   For i = LBound( oFilterNames ) To UBound( oFilterNames )
'      Print oFilterNames(i)
'   Next
   
   ' Create a Writer doc and save the filter names to it.
   oDoc = StarDesktop.loadComponentFromURL( "private:factory/swriter", "_blank", 0, Array() )
   oText = oDoc.getText()
   oCursor = oText.createTextCursor()
   oCursor.gotoEnd( False )
   
   ' Print the filter names into a Writer document.
   For i = LBound( oFilterNames ) To UBound( oFilterNames )
      oText.insertString( oCursor, oFilterNames(i), False )
      oText.insertControlCharacter( oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False )
   Next
End Sub

This work is licensed under the Apache License version 2.0