Spalten und Zeilen ein- bzw ausblenden per Makro

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

mumpel
****
Beiträge: 133
Registriert: So, 22.08.2004 05:27
Wohnort: Lindau (B)
Kontaktdaten:

Spalten und Zeilen ein- bzw ausblenden per Makro

Beitrag von mumpel »

Hallo!

Wie kann ich Zeilen und Spalten per Makro ein- bzw. ausblenden!

Als Beispiel: Es soll immer nur ein Thema angezeigt werden.

Das 1. Thema steht in den Spalten A-H, das 2. Thema in den Spalten I-M.

Grüße,
Mumpel
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Du kannst das mit dem Makrorekorder aufzeichnen oder gibt es irgendwelche speziellen Anforderungen?


Gruß
Stephan
mumpel
****
Beiträge: 133
Registriert: So, 22.08.2004 05:27
Wohnort: Lindau (B)
Kontaktdaten:

Beitrag von mumpel »

Hallo Stephan!

Das mit dem Makrorecorder funktioniert nicht. Der zeichnet zwar auf, das Spalten oder Zeilen ausgeblendet wurden, aber welche (Spaltenname und Zeilenzahl) vergisst der Recorder.

Grüße,
Mumpel
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Du mußt beim Aufzeichnen jeweils eine Zelle in den auzublendenden Spalten markieren, das Markieren der Spaltenköpfe wird nicht aufgezeichnet. Hier ein Beispiel für Spalte A - H.

Code: Alles auswählen

sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1:$H$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:HideColumn", "", 0, Array())
end sub

Zum Wiedereinblenden mußt Du nur die Zeile:
dispatcher.executeDispatch(document, ".uno:HideColumn", "", 0, Array())
in:
dispatcher.executeDispatch(document, ".uno:ShowColumn", "", 0, Array())
ändern.

Gruß
Stephan
Antworten