Seite 1 von 1
Re: Basic: Werte für "FilterName" StoreAsURL
Verfasst: Mi, 22.01.2020 09:23
von Stephan
Aber für docx-Dateien?
das sollte "MS Word 2007 XML" sein.
Generell gibt es im Internet keine Informationsquelle, wo all die verschiedenen Werte für den Filter enthalten sind.
Kann ich mir nicht vorstellen, aber da sich die verfügbaren Filter je nach Programmversion von OO/LO auch gelegentlich ändern ist es zuverlässiger diese per Makro aktuell ausgeben zu lassen, z.B.:
Code: Alles auswählen
Sub Main
oFF = createUnoService( "com.sun.star.document.FilterFactory" )
oFilterNames = oFF.getElementNames()
oDoc = StarDesktop.loadComponentFromURL( "private:factory/swriter", "_blank", 0, Array() )
oText = oDoc.getText()
oCursor = oText.createTextCursor()
oCursor.gotoEnd( False )
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
siehe auch:
http://www.openoffice.org/api/docs/comm ... ctory.html
Gruß
Stephan
Re: Basic: Werte für "FilterName" StoreAsURL
Verfasst: Mi, 22.01.2020 10:12
von Stephan
Der Name des gesuchten Filters lautet "Office Open XML Text"
Ich glaube das stimmt nicht, denn zu diesem Format gibt es nicht das adäquate Format mit VBA. Bei "MS Word 2007 XML" ist das "MS Word 2007 XML VBA".
Gruß
Stephan
Re: Basic: Werte für "FilterName" StoreAsURL
Verfasst: Mi, 22.01.2020 10:35
von Stephan
Stephan hat geschrieben: Mi, 22.01.2020 10:12
Der Name des gesuchten Filters lautet "Office Open XML Text"
Ich glaube das stimmt nicht, denn zu diesem Format gibt es nicht das adäquate Format mit VBA. Bei "MS Word 2007 XML" ist das "MS Word 2007 XML VBA".
Gruß
Stephan
Wenn ich ein origimal mit MS Word erstelltes Dokument in LO öffne bestätigt sich das, denn ich kann als "FilterName" den Wert "MS Word 2007 XML" auslesen.
Code: Alles auswählen
Sub FilterPruefen()
args = ThisComponent.getArgs()
For i = 0 To UBOUND(args())
if args(i).Name = "FilterName" Then
Msgbox args(i).Value
end if
Next i
End Sub
Gruß
Stephan
Re: Basic: Werte für "FilterName" StoreAsURL
Verfasst: Mi, 22.01.2020 14:01
von Stephan
wieso dann nicht den Filter verwenden, wenn er angeboten wird?
Weil ich annahm Du wolltest im Format von MS Office speichern.
Ohne das nun genauer zu untersuchen (denn das habe ich nicht getan) ergibt sich diese 'Formatentscheidung' für mich daraus das ich eine Datei in Original MS Office erstelle, dann in LO öffne und prüfe welcher konkrete Filter verwendet wurde.
Ich werde den Thread hier aber zum Anlass nehmen mal auf einer LO-Liste zu fragen, in der Hoffnung etwas Erhellendes zum Unterschied der in Rede stehenden Filter zu erfahren.
Mir sind auch die augenscheinlichen Unterschiede bekannt die Du hier beschreibst:
"Beide Formate erzeugen eine von Libre- und Micorosoft Office les- und schreibbare *.docx-Datei mit dem großen Unterschied, die MS Office 2007 XML Datei belegt doppelt so viel Speicherplatz wie die Office Open XML Text Datei."
weil sie mir so jüngst in einem Kundenprojekt auffielen.
Gruß
Stephan
Re: Basic: Werte für "FilterName" StoreAsURL
Verfasst: Do, 23.01.2020 07:45
von Hiker
Hallo,
als Schnellschuss erstmal:
https://ask.libreoffice.org/en/question ... parameter/ und dort die Verweise auf freedesktop.org
Mfg, Jörn
PS Für Calc habe ich noch eine Optionsliste anzubieten.
https://wiki.openoffice.org/wiki/Docume ... er_Options
Eventuell findet Ihr ja den passenden Teil für Writer.