🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

Mehrere Daten auf einmal per Makro in ein calc-Sheet schreib

Alles zur Programmierung im LibreOffice.
Antworten
BastiL
Beiträge: 13
Registriert: So 3. Feb 2013, 10:52

Mehrere Daten auf einmal per Makro in ein calc-Sheet schreib

Beitrag von BastiL » Do 30. Mai 2013, 19:49

Hallo zusammen,

ich möchte ein Liste von Daten im Format tt.mm.jjjj per Python-Makro in eine Calc-Spalte eintragen. Für ein einzelnes Datum verwende ich dafür "FormulaLocal". Um mehrere Werte auf einmal einzutragen kenne ich nichts intsprechendes. "setDataArray" funktioniert nicht und "setFormulaLocalArray" gibt es nicht. Eine Schleife ist keine Lösung weil das eintragen von 100 Daten mit FormulaLocal ewig dauert. Das für Alternativen gibt es da? Danke.

BastiL

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2712
Registriert: Fr 10. Dez 2010, 10:01

Re: Mehrere Daten auf einmal per Makro in ein calc-Sheet sch

Beitrag von karolus » Do 30. Mai 2013, 21:28

Hallo

Trage die Daten per .setFormulaArray(...) im Iso-format ein und setze das gewünschte Datumsformat:

Code: Alles auswählen

import uno
import datetime
context = XSCRIPTCONTEXT

def datum_array():
    """
    """
    doc = context.getDocument()
    numberformats = doc.NumberFormats
    Locale = uno.createUnoStruct("com.sun.star.lang.Locale")
    dateformat = numberformats.queryKey('TT.MM.JJJJ', Locale, True )
    if dateformat == -1:
        dateformat = numberformats.addNew('TT.MM.JJJJ', Locale)
    sheet = doc.CurrentSelection.Spreadsheet
    cellrange = sheet.getCellRangeByName('A1:A3')
    datum = datetime.date(1987, 11, 3)
    d = datum.isoformat()
    cellrange.setFormulaArray(((d,),(d,),(d,)),)
    cellrange.NumberFormat = dateformat
Karolus
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)

BastiL
Beiträge: 13
Registriert: So 3. Feb 2013, 10:52

Re: Mehrere Daten auf einmal per Makro in ein calc-Sheet sch

Beitrag von BastiL » Do 13. Jun 2013, 22:19

Perfekt, vielen Dank.


An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.



❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten