nicht alles lässt sich auch aufzeichnen

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

Moderator: Moderatoren

skraszewski
**
Beiträge: 24
Registriert: Mo, 19.09.2005 19:41

nicht alles lässt sich auch aufzeichnen

Beitrag von skraszewski »

Ich wollte kein neues Theme anlegen, deswegen schreibe ich hier. Ich bereite mein StaOffice-Packet auf die häufigsten Tätigkeiten, die ich in meinen Dokumenten ausführe. Ich wollte das Programm dazu zwingen, dass es irgendwie Tabellen, die ich einfüge, horizontal zentriert. Ich wollte ein einfaches Makro aufzeichnen, es hat sich aber erwiesen, dass die Befehle: Tabelle >> (Dialogfeld: Tabelleneigenschaften) Ausrichtung: zentriert vom Makro-Rekorder völlig ignoriert werden. Kann man das denn irgendwie anders automatisieren?

Grüße
skraszewski

[Beitrag wurde zum neuen Thema moderiert!]
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey skraszewski,
Ich wollte kein neues Theme anlegen...
Doch - immer, sonst findet das keiner!!!!
Ich wollte ein einfaches Makro aufzeichnen, es hat sich aber erwiesen, dass die Befehle: Tabelle >> (Dialogfeld: Tabelleneigenschaften) Ausrichtung: zentriert vom Makro-Rekorder völlig ignoriert werden
Nicht unbedingt. Allerdings zeichnet der Makro-Rekorder "Dispatcher" code auf - und da ist nicht alles möglich. Poste doch mal den aufgezeichneten Code, vielleicht musst du ja nur ein "REM" entfernen - das gab es auch schon öfters.
Im übrigen kann man natürlich nahezu alles mit "richtigen" Basic-Code automatisieren. Nur leider versteh ich nicht genau, was du willst. Kannst du das ein wenig ausführlicher beschreiben? Und vielleicht auch gleich, wie du die Tabelle einsetzt (was sonst noch so im Dokument vorhandne ist).

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
skraszewski
**
Beiträge: 24
Registriert: Mo, 19.09.2005 19:41

nicht alle lässt sich aufzeichnen

Beitrag von skraszewski »

Hallo,

also der Reihe nach:

Ich benutze OOO 1.1.5 de
Wenn man Eine Tabelle einfügt, dann ist sie links ausgerichtet. Macht man die Spalten schmaller, dann möchte man gerne, dass so eine Tabelle genau in der Mitte liegt. Dazu klicke ich mich in eine der Zellen, dann wähle ich entweder über das Menü oben oder über das Kontextmenü den Befehl Tabelle.... Dann wähle ich Register Tabelle und dort rechts bei Ausrichtung markiere ich Zentriert. Wenn man das manuell macht, dann wandert die Tabelle brav in die Mitte. Wenn man aber diese Vorgänge aufzeichnet und dann auf Aufzeichnung beenden klickt, dann wird sie beendet, erscheint aber nicht das Dialogfenster, wo alle Makros aufgelistet stehen und wo der Name fürs Neue normalaerweise reingetippt wird. Alles ist so, als hätte man nichts aufgezeichnet. Es gibt auch keine Spuren der Aufzeichnung, wenn man bei Makro-Dialogfenster auf Bearbeiten klickt.

Genauso geschiet bei mit auch in StarOffice 7.0 und in OOO 1.9.128, beide in deutscher Sprachversion.

Was kann da los sein?

Grüße aus Polen
skraszewski
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey skraszewski,

also, ich hab das nachgestellt und kann es bestätigen (1.9.128). Was da passiert? Nun, das bekommt der Dispatcher nicht hin. Alle Aktionen werden lediglich mit der Maus ausgelöst - und da kommt er wohl nicht mit.
OK, das löst aber dein Problem nicht.
Jetzt musss ich nochmal nachfragen: erzeugst du die Tabelle direkt (und könntest sie somit auch per Makro erzeugen - inclusiv der Größe und ausrichtung) oder ist das jeweils unterschiedlich, du formatierst die Tabelle erst einmal und möchtest sie dann zentrieren?
Hmm, jetzt wollte ich dir eigentlich einen Code liefern - und stelle fest, alle meine Makros sind "weg".
Also - bis später - scheint ein größerer Fehler zu sein!

Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey skraszewski,

so, hier gibt es offensichtlich einen (größeren) Bug im OOo Modul - es zerstört die Zugänglichkeit zu den benutzerorienteirten Makromodulen ...

Na, egal, für dein Problem hab ich ein schönes Makro:

Code: Alles auswählen

Sub AktuelleTabelleZentrieren
	oDoc = thisComponent
	oSel = oDoc.getcurrentController().getViewCursor()
	oTab = oSel.TextTable
	if isObject(oTab) then
		oTab.HoriOrient = 2
	end if
End Sub
Du setzt den Cursor in die gewünschte Tabelle, rufst das Makro auf und - schwupp, die Tabelle ist zentriert! Ist es das, was du wolltest?

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
skraszewski
**
Beiträge: 24
Registriert: Mo, 19.09.2005 19:41

Beitrag von skraszewski »

Hallo Toxitom,

danke, das ist eben die Lösung, die ich brauch. Schnell und geschickt geht alles vonstatten. Und das mir dem Recorder ist wohn noch nachzubessern. Danke für DEINE Mühe und Hilfsbereitschaft.

Beste Grüße
s.kraszewski
Antworten