Dokumente aus Base haraus öffnen

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

Moderator: Moderatoren

F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Dokumente aus Base haraus öffnen

Beitrag 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
Dateianhänge
OpenFile.odb
(21.62 KiB) 160-mal heruntergeladen
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Dokumente aus Base haraus öffnen

Beitrag 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
Dateianhänge
OpenFile.odb
(21.62 KiB) 97-mal heruntergeladen
RobertG
********
Beiträge: 2070
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Dokumente aus Base haraus öffnen

Beitrag von RobertG »

Hallo *,

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

Gruß

Robert
Dateianhänge
Beispiel_Mailstart_Dateiaufruf.odb
(38.77 KiB) 170-mal heruntergeladen
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Dokumente aus Base haraus öffnen

Beitrag 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
Antworten