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