manueller seitenumbruch besser definiert und Makro dazu

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: manueller seitenumbruch besser definiert und Makro dazu

Re: manueller seitenumbruch besser definiert und Makro dazu

von Stephan » So, 31.03.2019 11:46

Wie das Wort Kind darein kommt, ist mir unklar.
Genauso wie die anderen zwei Property-Namen ("TemplateName" und "PageNumber"). "Kind" steht hier für englisch "Art", also die Art des Umbruchs. Durch Ausprobieren(*) kann man er mitteln: 0-kein Umbruch, 1-Zeilenumbruch, 2-Spaltenumbruch, 3-Seitenumbruch.

(*)
Wie schon geschrieben sind die Parameter der dispatch-Befehle nirgends zusammenhängend dokumentiert (es ist auch also nicht so das der hier in Rede stehende Parameter gleich "BreakeType" (siehe API: http://www.openoffice.org/api/docs/comm ... kType.html) wäre oder sich an diesen anlehnt.

Gruß
Stephan

Re: manueller seitenumbruch besser definiert und Makro dazu

von Toxitom » Sa, 30.03.2019 18:21

Hallo Martin,

wieviel Theards mit dem gleichen Inhalt willst Du eigentlich noch starten?

Natürlich sind Deine Aufgaben per Makro lösbar - wenn auch dafür jede Menge Grips und Zeit investiert werden müsste. Progrmmierung ist eben keine "mal so" Aufgabe und die Aufgabenstellungen werden immer komplexer und komplizierter.

Lies mal Deine "alten" Themen in Ruhe durch - da habe ich Dir bereits die Hinweise gegeben, dass das alles soooo einfach nicht ist.

siehe bsp. hier:
https://de.openoffice.info/viewtopic.ph ... 67#p281822

Und der Makrorecorder wird Dich auch nicht weiterbingen. Wurde Dir auch schon mehrfach gesagt.

Grob geschätzt: Dein gewünschtes Makro benötigt sicher so 30-40 Std Programmierung, Tests, Dokumentation und "Härtung" - in der Voraussetzung, Du könntest die Funktion abschliessend beschreiben! (Lastenheft) und es kommt nicht noch mehr dazu (was sicher der Fall ist;)). Deine geposteten Codeschnipsel sind völlig wertlos.

Wenn Du die Programmierstd mit 50-80,- EUR ansetzt weisst Du ungefähr, was das Makro Dich kosten würde - und der Aufwand lohnt sicher nicht für das eine Buch oder möglicherweise die noch folgenden.
Beschäftige Dich doch lieber mit Satz und Gestaltung eins Buches mit Formatvorlagen, Kopf- und Fusszeilen für zukünftige Bücher und formatiere Dein jetziges manuell.

Ich kenne auch das Makro zum Auslesen der Texte aus der Calc-Datei - auch da waren noch Fehler drin. Und auch dieses wird nicht problemlos integriebar sein. Da sind und werden noch jede Menge Probleme auf Dich zukommen...

Viele Grüße
Tom

PS: Das "kind" in Deinem Code ist englich und bedeutet soetwas wie "Typ/Art". Beschreibt die Form des Umbruchs - gibt ja neben Seitenumbruch auch noch Spaltenumbrüche und Zeilenumbrüche.

manueller seitenumbruch besser definiert und Makro dazu

von martin11 » Sa, 30.03.2019 18:02

Aufgabe
Es soll ein manueller Seitenumbruch am letzten Zeichen einer Seite eingefügt werden.
Bisher dieses Vorbereitung mit Hand
Ist das letzte Zeichen kein Absatzzeichen, soll der dort unabhängig von allem eingefügt werden.
Dieser darf nicht auf die nächste Seite umspringen.
Dann gehe ich per Menü zum manuellen Seitenumbruch.
Ich wähle dort den Seitenumbruch.
Es wird die Linie eingefügt, die diesen Umbruch anzeigt.
Und es entsteht auf der nächsten Seite ein leerer Absatz.
Es ist also nicht wie bisher beschrieben eine Kopfzeile, die mit Format Seite Kopfzeile erstellt wird.
Ich habe ein Makro mit dem Namen modKopfZeile.bas. Der ist verführerische wegen Kopfzeile.
Deshalb war bisher von dem Begriff Kopfzeile die Rede

Mit diesem Makro wird in den oberen leeren Absatz aus einer Calc mit einem Algorithmus ein Text eingefügt.

Diese Aufgabe soll mit einem Makro gelöst werden. Das soll den Namen z. B. haben modManuUmbruch oder ähnlich bekommen.
Problem mit Tabellen
Diese Makro versagt aber, wenn über und unter einer Tabelle keine leereren Absätze vorhanden sind.
Lange Tabellen habe ich von Hand entsprechend getrennt.
Jetzt haben also alle Tabellen oben und unten einen leeren Absatz.
Problem mit Grafiken
Unterhalb einer Grafik muss immer noch ein leere Absatz sein.
Also habe ich alle Grafiken so platziert, dass die Bedingung erfüllt ist.
Problem mit den Stichworten.
Die müssten wie die Tabellen mit leeren Absätzen getrennt sein.
Da das bisher nicht möglich ist, soll das Makro beendet werden, wenn es auf Stichworte stößt.

Makrorekorder
Nach den Beschreibungen dem Buch Makrogrundlagen Band 1
habe ich diese Makro erstellt.
Wie das Wort Kind darein kommt, ist mir unklar.
Diese Makro modManuUmbruch soll letzten Endes alles bewältigen.
Ich hoffe, es lässt sich ein "Hauptmakro" erstellen, das die verschiedenen "Abschnitte" aufnimmt.

Code: Alles auswählen

REM  *****  BASIC  *****
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(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Kind"
args1(0).Value = 3
args1(1).Name = "TemplateName"
args1(1).Value = ""
args1(2).Name = "PageNumber"
args1(2).Value = 0

dispatcher.executeDispatch(document, ".uno:InsertBreak", "", 0, args1())
end sub

Nach oben