Aufbau/Aussehen von Writer-Formularen

Hallo zusammen!

Ich habe eine Frage zu mit Hilfe von LibO (Version: 4.1.3.2
Build ID: 70feb7d99726f064edab4605a8ab840c50ec57a) unter XUbuntu 12.04.
erstellten Formularen.

Bei der Erstellung des Formulars habe ich auf den Blattseiten für jeden
Themenbereich, den das Formular behandeln soll, Textrahmen eingefügt,
die daran verankerte Gruppierungsrahmen und andere Formularelemente
enthalten. Der Inhalt der Textrahmen ist vor Änderungen geschützt, und
der Umlauf um den Textrahmen ist auf "Kein" festgelegt.

Ordne ich nun mehrere Textrahmen auf einer Seite an und lasse Abstand
zwischen ihnen, wird der Cursor beim Klicken außerhalb der Textrahmen in
diese Lücken gesetzt. Abgesehen davon, daß sich der Cursor dann
außerhalb der Formulareingabefelder befindet, kann dann an diesen
Stellen weitergeschrieben werden, was bei einem Formular nicht erwünscht
ist.

Setze ich die Textrahmen lückenlos hintereinander, in dem ich deren
Größen geeignet anpasse, springt der Cursor in solchem Fall zur ersten
beschreibbaren Stelle in der Datei, also auf die letzte Seite hinter den
letzten Textrahmen. Manchmal erhalte ich auch einen Cursor hinter dem
ersten Textrahmen, der die Höhe des Textrahmens hat, obwohl der
Textrahmen als Breite die des Seitentextbereiches besitzt.

Hat jemand einen Link für mich, unter dem die kanonische Vorgehensweise
bei der Formularerstellung beschrieben wird? Prima wäre auch ein Verweis
auf ein Formularbeispiel, dessen Inhalt gerne aus mehr als zwei
Texteingabefeldern für Name und Vorname bestehen kann.

Herzlichen Dank für Eure Hilfe!
GV

Hallo Volker,

Ordne ich nun mehrere Textrahmen auf einer Seite an und lasse Abstand
zwischen ihnen, wird der Cursor beim Klicken außerhalb der Textrahmen in
diese Lücken gesetzt. Abgesehen davon, daß sich der Cursor dann
außerhalb der Formulareingabefelder befindet, kann dann an diesen
Stellen weitergeschrieben werden, was bei einem Formular nicht erwünscht
ist.

Ich gehe davon aus, dass Du wirklich nur an die Formularfelder ran
willst. Solche Formulare bearbeitest Du anschließend zur Eingabe in
schreibgeschütztem Zustand.

Gehe auf Datei → Eigenschaften → Sicherheit
und klicke auf "Datei schreibgeschützt öffnen".

Dann wird die Datei beim nächsten Mal standardmäßig im
schreibgeschützten Modus geöffnet und der Cursor kann nur in den
Formularfeldern positioniert werden.

Gruß

Robert

Hallo Robert!

Dank Dir! Der Schreibschutz bewirkt in der Tat, daß der Cursor nicht
durch die Gegend springt.

Der Ablauf beim Ausfüllen ist nun folgendermaßen:
1.) Man nehme ein leeres Formular (.ott oder .odt)
2.) Ergänze Einträge, z.B. Name, Vorname
3.) Speichere das (teil-)ausgefüllte Formular unter
    Formular_Müller_Hans.odt ab.

Dabei "vererbt" sich die Eigenschaft "schreibgeschützt öffnen" leider
nicht, so daß bei Weiterbearbeitung wieder ein beschreibbares Formblatt
vorliegt.

Auswege, die mir einfallen:
- Makro, daß den Schreibschutz beim Öffnen setzt.
- XForms (wird aber nicht mehr weiterentwickelt)
- PDF-Formular (da gibt es keine sich mit der Textlänge selbsttätig
vergrößernden mehrzeiligen Eingabefelder)

Das einfachste wird wohl sein, die Benutzer auf den Umstand hinzuweisen.

Vielen Dank!
GV

Hallo Volker,

Der Ablauf beim Ausfüllen ist nun folgendermaßen:
1.) Man nehme ein leeres Formular (.ott oder .odt)
2.) Ergänze Einträge, z.B. Name, Vorname
3.) Speichere das (teil-)ausgefüllte Formular unter
    Formular_Müller_Hans.odt ab.

Dabei "vererbt" sich die Eigenschaft "schreibgeschützt öffnen" leider
nicht, so daß bei Weiterbearbeitung wieder ein beschreibbares Formblatt
vorliegt.

Auswege, die mir einfallen:
- Makro, daß den Schreibschutz beim Öffnen setzt.

Ich habe einmal etwas in den Foren nachgeschaut. Da gibt es für so etwas
auch nur den Code über den Dispatcher. Folgendes Makro erstellst Du in
dem Dokument:

SUB Schreibschutz_setzen
DIM oDoc AS OBJECT
DIM oDispatcher AS OBJECT
oDoc = ThisComponent.CurrentController.Frame
oDispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
oDispatcher.executeDispatch(oDoc, ".uno:EditDoc", "", 0, Array())
END SUB

Das Makro wird über
Extras → Anpassen → Ereignisse
an das Ereignis "Dokument öffnen" gebunden.

Dann ist der Schreibschutz auch bei einer Kopie am Anfang drin.

Gruß

Robert