Makro-Programmierung für Open Office Base

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
StefF
User
Beiträge: 2
Registriert: Montag 11. Januar 2016, 09:40

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
karolus
User
Beiträge: 141
Registriert: Samstag 22. August 2009, 22:34

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....
StefF
User
Beiträge: 2
Registriert: Montag 11. Januar 2016, 09:40

Vielen Dank für die Antwort. Nach etwas Einarbeitung in Mri funktioniert jetzt alles einwandfrei.
Antworten