libre office makro ausführen -> Absturz

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Benutzeravatar
paulderfinne
Beiträge: 464
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

libre office makro ausführen -> Absturz

Beitrag von paulderfinne » 02.01.2018 10:11:04

Hallo lliebe Debianer,

LibreOffice Version: 5.2.7.2 in Debian stretch: Ich habe ein Makro angehängt, versuche ich das Makro über extras->makros->makros ausführen, stürzt das Programm gnadenlos ab.Wenn ich es aber über extras->makros->makros verwalten-> Libre Office Basic... das Makro aufrufe, kann ich es ausführen.

Was habe ich gemacht? Ich habe das Makro von einem anderen LO - Sheet kopiert. Dort ist das Makro mit dem Ereignis Speichern verbunden. Versuche ich jetzt im neuen Sheet das Makro mit dem Ereignis speichern zu verbinden, stürzt das Programm ab.

Was macht das Programm? Nun es speichert das Sheet in eine pdf-Datei und schiebt es auf einen Server auf den ich Zugriff habe. So kann ich die Informationen mit dem Smart-Phone ablesen.

Code: Alles auswählen

Sub Main
    dim kw, kw_nun, kw_next as string
    dim kw_num as integer
  kw = format(date, "ww")
  kw_num = kw
  if kw_num<10 then kw_nun ="kw0" & kw else kw_nun = "kw" & kw

  kw_num = kw_num+1
  kw=kw_num
  if kw_num<10 then kw_next="kw0" & kw else kw_next = "kw" & kw
 
  odoc=thiscomponent
   'Auswahl der Tabellen
   obereiche = odoc.createInstance("com.sun.star.sheet.SheetCellRanges")
   
      if odoc.sheets.hasbyname(kw_nun) then
         obereiche.addRangeAddress(odoc.sheets.getbyname(kw_nun).getRangeAddress, 0)
      else
         If tabelle>"" then msgbox "Diese Tabelle existiert nicht"
      end if
   
     if odoc.sheets.hasbyname(kw_next) then
         obereiche.addRangeAddress(odoc.sheets.getbyname(kw_next).getRangeAddress, 0)
      else
         If tabelle>"" then msgbox "Diese Tabelle existiert nicht"
      end if
 
   'der eigentliche pdf-Export
   '
   'Argumente festlegen
   Dim arg(2) as new com.sun.star.beans.PropertyValue
   arg(0).Name = "URL"   
   arg(0).Value = Left(odoc.url, Len(odoc.url) - 3) + "pdf"
   arg(1).Name = "FilterName"
   arg(1).Value = "calc_pdf_Export"
   dim aFilterData(0) as new com.sun.star.beans.PropertyValue
   aFilterData(0).Name = "Selection"
   aFilterData(0).Value = obereiche
   arg(2).Name = "FilterData"
   arg(2).Value = aFilterData()

   'Datei schreiben
   odoc.storetoUrl(arg(0).value,arg())
   
   shell("sshpass -p 'xxxxx' scp -P xxxx /home/paul/organisation/stundenplan.pdf xxxxxxx")
   
End Sub
Was kann die Ursachen sein? Kennt jemand ein derartiges Verhalten?

Benutzeravatar
paulderfinne
Beiträge: 464
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: libre office makro ausführen -> Absturz

Beitrag von paulderfinne » 02.01.2018 11:03:02

Jetzt antworte ich selber, weil ich etwas mehr getestet habe. Mein Programm schmiert ab, sobald ich auf extras -> makros -> makro ausführen bzw. extras -> anpassen -> Ereignisse und dann ein Makro zuweisen will. Auch wenn ich ein komplett leeres Makro habe. Kann das jemand von euch nachvollziehen? Ich habe m.E. ein ganz normales System. Fast nichts selber kompiliert, fast alles aus dem deb-Reposiroty. Vor allem Libreoffice.

Code: Alles auswählen

$ cat /proc/version 
Linux version 4.9.0-4-686-pae (debian-kernel@lists.debian.org) (gcc version 6.3.0 20170516 (Debian 6.3.0-18) ) #1 SMP Debian 4.9.51-1 (2017-09-28)

Benutzeravatar
paulderfinne
Beiträge: 464
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: libre office makro ausführen -> Absturz

Beitrag von paulderfinne » 02.01.2018 11:22:24

jetzt komme ich nochmal und bitte um Entschuldigung. das Problem hat sich nach einem Update von selber gelöst. Wahrscheinlich war da doch irgendein Bug, der aber mit der neuen Version (deb-Kernel?) beseitigt wurde. Manchmal lösen sich Probleme sooo einfach :oops:

Antworten