Basic: Werte für "FilterName" StoreAsURL

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Basic: Werte für "FilterName" StoreAsURL

Beitrag 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
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Basic: Werte für "FilterName" StoreAsURL

Beitrag 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
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Basic: Werte für "FilterName" StoreAsURL

Beitrag 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
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Basic: Werte für "FilterName" StoreAsURL

Beitrag 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
Hiker
******
Beiträge: 591
Registriert: Mo, 08.09.2014 21:34
Wohnort: Berlin

Re: Basic: Werte für "FilterName" StoreAsURL

Beitrag 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.
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
Antworten