Seite 1 von 1

Re: Dokumente aus Base haraus öffnen

Verfasst: So, 16.03.2014 14:14
von F3K Total
Hi,
ja, das geht per Makro.
Es gibt mehrere Varianten z.B. mit Hilfe einer Schaltfläche
  1. Per Shell-Befehl
  2. Durch Nutzung der Eigenschaft Aktion: Dokument/Webseite öffnen der Schaltfläche.
Siehe Beispiel anbei.
Bei Variante 1. wird das Makro

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
beim Druck auf den Knopf ausgeführt. Es liest den Dateipfad aus und öffnet die Datei per Shell
Bei Variante 2 wird das Makro

Code: Alles auswählen

Sub S_Insert_URL_Button
   oForm = ThisComponent.drawpage.forms.MainForm
   oButton = oForm.cmdopenFile
   ncolumn = oform.findcolumn("URL")
   sUrl = oForm.getstring(ncolumn)
   oButton.TargetURL = sUrl
end sub
dem Formularereignis "nach dem Datensatzwechsel" zu geordnet.
Jedes Mal, wenn der Datensatz gewechselt wird, wird der aktuelle Dateipfad in die Eigenschaft URL der Schaltfläche eingetragen.
Beim Druck auf die Schaltfläche wird kein Makro, sondern die Aktion: Dokument/Webseite öffnen ausgeführt.

HTH R

Re: Dokumente aus Base haraus öffnen

Verfasst: So, 16.03.2014 17:13
von F3K Total
Hi,
der Dateipfad wird nach dem Datensatzwechsel in die Schaltfläche eingetragen. Daher müsstest Du nach dem Einlesen eines neuen Pfades einmal den Datensatz wechseln oder "aktualisieren" drücken.
Diese Aktion habe ich nun in das Makro S_load_url

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
    nrow = oform.row
    oform.reload
    oform.absolute(nrow)
End Sub
durch zufügen der letzten drei Zeilen mit eingebaut.
Gruß R

Re: Dokumente aus Base haraus öffnen

Verfasst: So, 16.03.2014 17:19
von RobertG
Hallo *,

ich hänge hier nur kurz die Beispieldatei für so ein Verfahren aus dem Base-Handbuch an.

Gruß

Robert

Re: Dokumente aus Base haraus öffnen

Verfasst: So, 16.03.2014 19:22
von F3K Total
Hi,
ja, mit diesen Zeilen wird erst die Nummer der Spalte URL, ncolumn ermittelt, und dann mit Hilfe der Spaltennummer der Spalteninhalt ausgelesen, hier ein Text (.getstring)

Code: Alles auswählen

   ncolumn = oform.findcolumn("URL")
   sUrl = oForm.getstring(ncolumn)
In unserem Beispiel handelt es sich um die zweite Spalte der Tabelle "Files", daher ist nColumn 2
Gruß R