Datei per Makro Öffnen

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

Moderator: Moderatoren

blubla_Base
Beiträge: 7
Registriert: Do, 20.01.2011 07:31

Datei per Makro Öffnen

Beitrag von blubla_Base »

Hallo,
wäre toll wenn mir jemand eine Lösung zeigen könnte.
Zur Info > Es geht um eine Base Datenbank (Daten dateien extern).In einer Tabelle Speichere/Sammel ich Informationen zu Bauteilen über Lautsprecher Technik und Lautsprecher allgemein,das soll so ein kleines Privates Wiki werden.Nun ist es so, das ich beim Recherchieren Produktblätter und der gleichen bekomme, die ich dann EinScan und als Bild_datei abspeichere manchmal ist auch ein "PDF" oder "doc" dabei.Diese Dateien lege ich in einem Ordner ab. (gleiches Verzeichniss,gleicher Ordner)
Mit Base habe ich in einer Tabelle verschieden Felder defieniert,jetzt ist meine Idee in einem Text Feld die Url zu einer dieser Datei einzutragen, z.b c:/user/Documents/bild.jpg , eine Schaltfläche soll dann eben diese Datei öffnen.
Pro Datensatz gilt es nun eine andere Datei über diese Schaltfläche zu öffnen.
Dafür bräuchte ich ein Makro.
Ich hoffe das ich mich einigermaßen verständlich ausgedrückt habe
und wäre echt dankbar für unterstützung.

win 7 / Aoo 3.4.1 / 32bit

@ lorbass
ich hatte den alten Thread genommen,da der genau mein Problem beschreibt,
aber ich die dort aufgezeigten Makro nicht umsetzen kann.
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Datei per Makro Öffnen

Beitrag von F3K Total »

Hallo,
ich versuche mal ungetestet was hinzuschreiben:

Code: Alles auswählen

Sub S_Datei_Oeffnen
   oForm = ThisComponent.drawpage.forms.MainForm
   ncolumn = oform.findcolumn("URL")
   sUrl = oForm.getstring( ncolumn)
   oShell = createUnoService("com.sun.star.system.SystemShellExecute")
   oShell.execute(sUrl,,0)
end sub
Dieser Code muss in deinem Formular einem Button beim Ereignis "Aktion ausführen" zugeordnet werden.
Wenn Du dann im Formular eine Zeile (einen Datensatz) auswählst, wird die Datei geöffnet, deren Pfad (z.B. c:/user/Documents/bild.jpg) in der Spalte URL der dem Formular zugrundeliegenden Tabelle/Abfrage/Ansicht steht.

Viel Erfolg,
Gruß R

Edit:
Wenn Du auf Dein Formular noch ein Dateiauswahlfeld mit dem Namen Fileselectionbox legst, und folgendes Makro an dessen Ereignis "Text modifiziert" bindest, brauchst Du die Pfade nicht einzutippen/kopieren.

Code: Alles auswählen

Sub S_load_url
    oForm = ThisComponent.drawpage.forms.MainForm
    ncolumn = oform.findcolumn("URL")
    oFileseletionbox = oForm.Fileselectionbox
    sUrl = oFileseletionbox.Text
    oform.updatestring(ncolumn,sUrl)
    if oform.isnew then oform.insertrow else oform.updaterow
End Sub
blubla_Base
Beiträge: 7
Registriert: Do, 20.01.2011 07:31

Re: Datei per Makro Öffnen

Beitrag von blubla_Base »

Hallo F3K Total,

>>> ein riesiges Dankeschön ! <<<< dein Code klappte auf anhieb. :) und war genau das was ich suchte.

ich wünsche noch einen Schönen Abend

mg Andreas
Kolräble
Beiträge: 9
Registriert: Mo, 09.12.2013 21:48

Re: Datei per Makro Öffnen

Beitrag von Kolräble »

Hallo zusammen,

ich möchte mich auch bedanken, das Makro funktioniert hervoragend!
Ich habe noch zusätzlich herausgefunden, dass es bei meinem Ubuntu Betriebssystem nicht funktioniert, weil der Dateimanager wahrscheinlich in der Funktion nicht angesprochen wird. Also dieses Makro ist nur für Windows Benutzer gedacht.

Wollte es nur weitergeben, nicht dass auch andere Linux User in diese Falle tappen.

Natürlich wäre es noch neun + ultra wenn es ein Makro gäbe, dass dann auch unter Ubuntu (Linux) funktioniert. Aber davon habe ich keine Ahnung wie das geht, oder wo man was ändern könnte.

mit freundlichen Gruß
Antworten