Makroprogrammering med Python III

Jeg har tidligere skrevet to indlæg om makroprogrammering med Python her og her.

Denne gang vil jeg gerne skrive noget mere meningsfyldt indhold på markørens plads. Det kunne f.eks. være datoen i dag eller mit eget navn.

Lad os kigge på datoen først:

def WriteDate( ):
    import datetime
    """Prints into the current document"""
    #get the doc from the scripting context
    model = XSCRIPTCONTEXT.getDocument()
    text = model.Text
    oVCurs = model.CurrentController.getViewCursor()
    oTCurs = text.createTextCursorByRange(oVCurs.getStart())
    oTCurs.setPropertyValue("CharColor", 255)
    oTCurs.setPropertyValue("CharFontName", "Arial")
    StringToWrite = "Dato: " + ->
    datetime.date.strftime(datetime.date.today(), "%x")
    text.insertString( oTCurs, StringToWrite , 0 )

Det interessante her er i første omgang at jeg tidligt i koden skriver “import datetime”. Det er fordi jeg skal importere et ekstra modul fra Python der gør mig i stand til at manipulere med dato/tid og bruge de indbyggede funktioner. I dette tilfælde vil jeg gerne kunne formatere datoen.

Ellers er der kun en enkelt spændende kommando, nemlig denne:

StringToWrite = “Dato: ” + datetime.date.strftime(datetime.date.today(), “%x”)

Første led er en fast tekst “Dato: ”

Derefter datetime.date som indikerer at jeg er interesseret i datoen
strftime formaterer datoen til lokal notation (%x). se http://docs.python.org/library/time.html#time.strftime
datetime.date.today() fortæller at jeg er interesseret i idag.

Jeg putter det hele ned i variablen StringToWrite som jeg udskriver i den efterfølgende linje.

text.insertString( oTCurs, StringToWrite , 0 )

Om leif

Leif Lodahl Leif er certificeret PRINCE2 projektleder og har mange års erfaring inden for dette felt. Desuden er det Leif, der styrer aktiviteterne omkring LibreOffice (tidligere OpenOffice.org), og det er her Leif er på hjemmebane. På dette felt har Leif erfaring med både rådgivning, konsulentarbejde og undervisning. Leif Lodahl er manden, der står i spidsen for Libreoffice i Danmark, og han er en hyppig deltager i debatten omkring LibreOffice og open source.
Dette indlæg blev udgivet i Kontorblokken og tagget , , , . Bogmærk permalinket.

Skriv en kommentar