Hallo zusammen!
Ich habe eine Tabelle zum Erfassen von firmeninternen Anrufen, ähnliches eines Ticketssystems.
(weitere Posts zu der Tabelle
*hier* und
*hier*)
Hierbei werden kurzzeitig die Namen der Anrufer gespeichert, um an diese im Anschluss an das Telefonat eine Umfrage verschicken zu können.
Das findet der Datenschutz aber nicht so gut, sodass er fordert dass alle Namen gelöscht werden.
Ich brauche nun ein Makro, dass in dem gerade aktiven Tabellenblatt alle Inhalte in Spalte G nach Zeile 4 löscht, wenn ich das Dokument speichere.
Das Speichern als Auslöser kann ich über Extras --> Anpassen ja einstellen - kein Problem.
Ich hab mittels Makro-Rekorder folgendes funktionierende Marko erstellt:
Code: Alles auswählen
Sub RemoveNamePlain
Dim document as Object
Dim dispatcher as Object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
Dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$G$5:$G$1003"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())
End sub
Allerdings habe ich mich gefragt, ob es da nicht einen schlankeren und einfacheren Weg gibt, zu mal bei meiner jetztigen Lösung danach immer die gesamte Spalte G markiert ist und vor allem in allen Tabellenblättern (und nicht nur in dem aktiven) die Inhalte der Spalte G gelöscht werden.
Ich habe weiterhin noch Tabellenblätter zur Auswertung, die ich mittels Tabellenschutz vor dem Löschen der Spalte G schützen will.
Vielen Dank bereits im Voraus - vor allem an clag
Moderation,4: verschoben in BASIC-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst