🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Makro Fehlermeldung
Makro Fehlermeldung
Ich habe eine Tabelle mit ca. 100 Zeilen und 4 Spalten, die ich nach den Spalten 2 - 4 (numerisch) sortieren möchte. Wenn ich diese Sortierung in Einzelschritten (zuerst Tabelle markieren, dann; Tabelle - Sortieren ...) durchführe, klappt das problemlos. Wenn ich aber die gleichen Schritte als Makro aufzeichne und speichere, geht das zwar noch problemlos, beim Makro ausführen gibt es dann aber die Fehlermeldung: "BASIC-Syntaxfehler. Erwartet: Sub." Was lief da schief?
Re: Makro Fehlermeldung
…das korrekte Abspeichern nach der Aufzeichnung!?
und ausserdem bist du hier im falschen Unterforum … besser aufgehoben wäre das Thema in Basic und Makro oder wenigstens Calc
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Makro Fehlermeldung
Ich habe das Makro dort abgespeichert, wo es das Programm vorschlägt (siehe Anhang) und das so abgespeicherte Makro danach ausgeführt, was zur Fehlermeldung (siehe Anhang) geführt hat.
Re: Makro Fehlermeldung
Nein Ich sehe ihn nicht!
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Makro Fehlermeldung
Sorry, das war ein Missgeschick. So sollte es klappen.
- Dateianhänge
-
- Basic Syntaxfehler.jpg (89.44 KiB) 1828 mal betrachtet
-
- Speicherort.jpg (25.67 KiB) 1828 mal betrachtet
Re: Makro Fehlermeldung
Zeile 1: EM ⇒ REM
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Makro Fehlermeldung
Danke, das hat zunächst einmal geholfen, es gibt beim Befehl "Makro ausführen" keine Fehlermeldung mehr. Aber: wenn ich den Makro - der eine Tabelle nach drei Kriterien sortieren sollte - ausführe, erscheint einfach das Sortierfenster und ich muss den ganzen Sortierprozess von Hand eingeben.
Re: Makro Fehlermeldung
Das ist ja seltsam … Wenn ich ⇒ Daten ⇒ Sortieren …(mit drei Kriterien etcpp.) ausführe und aufzeichne kommt was ganz anderes raus wie bei Dir, wie kann es sein das deine Aufzeichnung nicht funktioniert?

Code: Alles auswählen
sub Aufzeichnung_DAten_Sortieren_dialog
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args2(13) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ByRows"
args2(0).Value = true
args2(1).Name = "HasHeader"
args2(1).Value = true
args2(2).Name = "CaseSensitive"
args2(2).Value = false
args2(3).Name = "NaturalSort"
args2(3).Value = false
args2(4).Name = "IncludeAttribs"
args2(4).Value = true
args2(5).Name = "UserDefIndex"
args2(5).Value = 0
args2(6).Name = "Col1" '1.kriterium
args2(6).Value = 2 ' Spalte B…
args2(7).Name = "Ascending1"
args2(7).Value = true '…Aufsteigend
args2(8).Name = "Col2" '2. Kriterium
args2(8).Value = 1 'Spalt A…
args2(9).Name = "Ascending2"
args2(9).Value = true 'Aufsteigend
args2(10).Name = "Col3" '3. Kriterium
args2(10).Value = 3 'Spalte C
args2(11).Name = "Ascending3"
args2(11).Value = false 'Absteigend
args2(12).Name = "IncludeComments"
args2(12).Value = false
args2(13).Name = "IncludeImages"
args2(13).Value = true
dispatcher.executeDispatch(document, ".uno:DataSort", "", 0, args2())
end sub
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Makro Fehlermeldung
Vielleicht liegt es daran, dass ich die Tabelle im Writer (und nicht mit Calc) sortieren will. Also mit Extras > sortieren.
Ich bin ganz neu bei LibreOffice und dabei, von MS Office umzusteigen. In MS Word funktioniert dieser Makro einwandfrei auf Anhieb, aber ich habe verstanden, dass die Makros von MS Office nicht auf LibreOffice übertragbar sind, sondern dass man sie dort neu schreiben muss, und das scheint ja nun nicht auf Anhieb zu gehen.
Ich bin ganz neu bei LibreOffice und dabei, von MS Office umzusteigen. In MS Word funktioniert dieser Makro einwandfrei auf Anhieb, aber ich habe verstanden, dass die Makros von MS Office nicht auf LibreOffice übertragbar sind, sondern dass man sie dort neu schreiben muss, und das scheint ja nun nicht auf Anhieb zu gehen.
Re: Makro Fehlermeldung
Hallo
Also doch in writer! … da stösst die Makro-Aufzeichnung an seine Grenzen.
Daher mal schnell zusammengehackt in python:
sollte einigermassen selbsterklärend sein…
bei den Spalten die absteigend sortiert werden sollen, setzt du einfach ein -zeichen vor »float«
zum organisieren von python nimmst du am besten apso.oxt von hier
Also doch in writer! … da stösst die Makro-Aufzeichnung an seine Grenzen.
Daher mal schnell zusammengehackt in python:
Code: Alles auswählen
def sort_writer_table(*_):
doc = XSCRIPTCONTEXT.getDocument()
sheet = doc.TextTables["Tabelle1"] #trag hier den Namen der Tabelle ein!
header, *data =sheet.DataArray # Kopfzeile ? nicht sortieren?
out = [ header ]
out.extend(sorted(data,
key=lambda row: (float(row[1]), #2te Spalte
float(row[2]), #3te Spalte
float(row[3])))) #4te Spalte
sheet.DataArray = out
bei den Spalten die absteigend sortiert werden sollen, setzt du einfach ein -zeichen vor »float«
zum organisieren von python nimmst du am besten apso.oxt von hier
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.