Seite 1 von 1

Makro-Programmierung für Open Office Base

Verfasst: Montag 11. Januar 2016, 10:35
von StefF
Hallo zusammen,

ich bin gerade dabei eine kleine Datenbank mit Open Office Base aufzusetzen. Zum Füllen der Datenbank habe ich ein kleines Formular mit mehreren Textfeldern erstellt. Soweit funktioniert auch alles.

Nun möchte ich mit Hilfe eines Buttons eine zugehörige PDF-Datei öffnen. Dazu habe ich mir ein Makro mit Python geschrieben.

Code: Alles auswählen

import os

def PDF_oeffnen(*args):
    """Öffnet die PDF"""
    
    file='Kleb-Ex'
    os.startfile('C:\Users\xxx\Desktop\abc\pdf\\' + file + '.pdf')
Damit öffnet sich die Datei Kleb-Ex.pdf absolut problemlos. Nun würde ich aber natürlich gerne, dass nicht immer die Datei "Kleb-Ex" geöffnet wird, sondern die Datei, die im Formular im Textfeld "Bezeichnung" angezeigt wird ;)
Meine Frage ist daher: Wie kann ich das Textfeld auslesen lassen?

Viele Grüße und vielen Dank im voraus!
Stefan

Re: Makro-Programmierung für Open Office Base

Verfasst: Montag 11. Januar 2016, 14:22
von karolus
Hallo

ich würde an deiner Stelle, dann zunächst die Extension Mri installieren.

und dann per Button die Funktion aufrufen:

Code: Alles auswählen

import os
import uno

ctx = uno.getComponentContext()
createUnoService = ctx.ServiceManager.createInstance
mri = createUnoService("mytools.Mri")



def PDF_oeffnen(args):
    """Öffnet die PDF"""
    mri.inspect(args)
   
    #file='Kleb-Ex'
    #os.startfile('C:\Users\xxx\Desktop\abc\pdf\\' + file + '.pdf')
über die MRI-Gui kannst du dich dann durchhangeln zum Formular-objekt - irgendwas in der Richtung: .. args.Source.[Model|Parent] und von da aus wieder auf die Textfelder....

Re: Makro-Programmierung für Open Office Base

Verfasst: Dienstag 12. Januar 2016, 16:29
von StefF
Vielen Dank für die Antwort. Nach etwas Einarbeitung in Mri funktioniert jetzt alles einwandfrei.