Seite 1 von 1

Skript übersetzen

Verfasst: Do 4. Sep 2014, 15:27
von flashstep
Guten Tag,

ich als völliger Neuanfänger mit LibreOffice würde einen darum bitten mit Sinntechnisch dieses Skript zu überarbeiten, sodas es auch in LibreOffice als Makro klappt:

Code: Alles auswählen

Sub zelle_loeschen()

Dim Zelle As Range


Set Zelle = Range("A1:A8")
For Each Zelle In Sheets("Tabelle1").UsedRange
If IsEmpty(Zelle) Then
Zelle.Select
ActiveCell.EntireRow.Delete
End If
Next
End Sub

Re: Skript übersetzen

Verfasst: Do 4. Sep 2014, 16:09
von lorbass
Skripts und ihre Überarbeitung gehören in den Bereich LibreOffice Programmierung.
flashstep hat geschrieben:Sinntechnisch dieses Skript zu überarbeiten, sodas es auch in LibreOffice als Makro klappt
Bevor sich jemand die Arbeit damit macht, solltest du mal probieren, nach einer Musterlösung in Michael Dannenhöfers →  StarBasic / OpenOffice.org Basic FAQ → 7.4.6 Wie kann man Zeilen und Spalten einfügen oder löschen? selbst eine Funktion zum Löschen einer Zeile zu erstellen

Gruß
lorbass

Re: Skript übersetzen

Verfasst: Do 4. Sep 2014, 16:19
von flashstep
Ich kriege es irgendwie nicht hin. -_-

Re: Skript übersetzen

Verfasst: Do 4. Sep 2014, 16:33
von karolus
Hallo
In python:

Code: Alles auswählen

def remove_gaps():
    doc = XSCRIPTCONTEXT.getDocument()
    sheet = doc.CurrentSelection.Spreadsheet
    cursor = sheet.createCursor()
    cursor.gotoEndOfUsedArea(False)
    last = cursor.RangeAddress.EndRow
    crange = sheet.getCellRangeByPosition(0,0,0,last)
    emptys = crange.queryEmptyCells()
    tmp = [ elem.Rows for elem in iterate(emptys) ]             
    for e in reversed( tmp ):
        e.removeByIndex(0, e.Count )
        
def iterate( enumerable_be ):
    enumerable = enumerable_be.createEnumeration()
    while enumerable.hasMoreElements():
        yield enumerable.nextElement()
 
für Übersetzungen nach StarBasic bin ich unterqualifiziert.

Karolus