XLS-Export eines bestimmten Tabellenblattes

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

Moderator: Moderatoren

Postbyme
***
Beiträge: 90
Registriert: Mo, 27.11.2017 18:42

XLS-Export eines bestimmten Tabellenblattes

Beitrag von Postbyme »

Hallo,
nachdem mit folgendem (hier im Forum gelernten) Code eine PDF-Datei aus einem Tabellenblatt erstellt werden kann:

Code: Alles auswählen

ls_datei = "file:///C:/test/alist.pdf"
Dim pdfProperties(2) as new com.sun.star.beans.PropertyValue
pdfProperties(0).Name = "FilterName"
pdfProperties(0).Value = "writer_pdf_Export"
Dim aFilterData(0) as new com.sun.star.beans.PropertyValue
aFilterData(0).Name = "Selection"
aFilterData(0).Value = ThisComponent.Sheets(3)
pdfProperties(2).Name = "FilterData"
pdfProperties(2).Value = aFilterData()
ThisComponent.storeToURL( ls_datei, pdfProperties())
möchte ich mit dem Filter "MS Excel 97" ein Tabellenblatt als Excel-Dokument entladen. Das funktioniert jedoch nur teilweise. Es wir nämlich das komplette Dokument mit allen anderen Tabellenblättern :shock: entladen und nicht nur das Tabellenblatt 4. Was mache ich falsch :roll: ?

Danke
-------------------------------------------------------
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Postbyme
***
Beiträge: 90
Registriert: Mo, 27.11.2017 18:42

Re: XLS-Export eines bestimmten Tabellenblattes

Beitrag von Postbyme »

Hallo,
habe jetzt selber gesehen, dass es für die jeweiligen "FilterName" nicht alle Möglichkeiten gibt - wahrscheinlich für "MS Exel 97" nicht mit Auswahl des Sheets. Ich glaube ich sollte einen anderen Weg gehen und ein neues Calc-Dokument aus dem Makro heraus öffen und die Zellbereiche dorthin kopieren?
Danke
-------------------------------------------------------
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: XLS-Export eines bestimmten Tabellenblattes

Beitrag von Stephan »

Wahrscheinlich ist es am Einfachsten das gesamte Dokument nach xls zu exportieren und anschließend die überflüssigen Tabellen des xls zu löschen.


Gruß
Stephan
Postbyme
***
Beiträge: 90
Registriert: Mo, 27.11.2017 18:42

Re: XLS-Export eines bestimmten Tabellenblattes

Beitrag von Postbyme »

Oh ja, pfiffige Möglichkeit - aber mal sehen - ODS sehr groß und würde dann um 98 Prozent wieder schrumpfen. Auf jeden Fall schöne Übung für mich.
Gruß
-------------------------------------------------------
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Hiker
******
Beiträge: 591
Registriert: Mo, 08.09.2014 21:34
Wohnort: Berlin

Re: XLS-Export eines bestimmten Tabellenblattes

Beitrag von Hiker »

Hallo,

wenn ich das "manuell" machen will, würde ich so vorgehen, wie Stephan vorschlug. In einem Macro aber umgekehrt in der offenen Datei alle Blätter ausser dem aktuellen (oder per Name/Numer identifizierten) löschen, dann via Speichern unter als xls speichern.

Zu klärende Fragen:
Vorher einmal als ODS speichern, damit Änderungen in den zu löschenden Blättern gesichert sind?
Wenn das restliche Blatt Referenzen auf eines der gelöschten Blätter hat, wird es Fehler geben - was eventuell der Grund ist es nicht einfach im Export-Filter als Bereich z.B. 2-5 anzubieten.

Mfg, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
Antworten