Calc: mehreren Zellen jeweils ein Formularfeld hinzufügen

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

Moderator: Moderatoren

Sammy Rukka
Beiträge: 8
Registriert: Mo, 21.01.2008 20:08

Calc: mehreren Zellen jeweils ein Formularfeld hinzufügen

Beitrag von Sammy Rukka »

Hallo,

kann ich per Makro einer (mehreren) Zelle(n) jeweils ein Formularfeld hinzufügen?
Bei der Gelegenheit sollte das Feld dann auf Zellengröße und rahmenlos eingestellt werden. Ausserdem sollte der Name natürlich gesetzt werden.

Ich brauche das, um aus einem Calc-Dokument ein PDF-Formular erzeugen zu können. Das Calc-Dokument kommt immer mal wieder neu und wurde zum Layouten eines Formular benutzt. Ich möchte jetzt nicht für jede der knapp 80 Zellen manuell ein Formuarfeld hinzufügen müssen.

THX
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: Calc: mehreren Zellen jeweils ein Formularfeld hinzufügen

Beitrag von Toxitom »

Hey Sammy,
Sammy Rukka hat geschrieben:kann ich per Makro einer (mehreren) Zelle(n) jeweils ein Formularfeld hinzufügen?
Ja, man kann :lol:

Und wenn du mit dem Code dann irgendwo "hängen" bleibst, helfen wir dir gerne.

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Sammy Rukka
Beiträge: 8
Registriert: Mo, 21.01.2008 20:08

Re: Calc: mehreren Zellen jeweils ein Formularfeld hinzufügen

Beitrag von Sammy Rukka »

Sorry, ich bin aus zeitlichen Gründen von dem Thema abgekommen.
Ich habe jetzt einige Seiten durchforstet und Api durchblättert. Ich scheitere bereits Handling des Formulars und der Felder. Alle Beispiele, die ich gefunden habe, arbeiten nur mit dem Auslesen der Felder. Das interessiert mich aber eigentlich gar nicht. Ich möchte nur x Zellen (untereinander oder nebeneinander) jeweils ein Formularfeld mit generischem Namen verpassen.
Für das Formatieren (Größe) habe ich etwas gefunden, das klappen könnte: Das Shape Objekt.

Aber das Hinzufügen der Felder zu einer Zelle ist mir nicht untergekommen.
Wenn also jmd. (z.B. Toxitom 8)) mir da helfen können? Einfach für eine Zelle. Die 'Batch'-Verarbeitung schaffe ich dann schon - oder komme mit konkreten Problemen.

Sorry, falls ich einfach ein Brett vorm Kopf habe und Dank an alle, die mir hier helfen!

---

Ich rudere mal zurück. Bin etwas weiter gekommen. Muss das jetzt mit Textfeldern versuchen und einer korrekten Positionierung...
Sammy Rukka
Beiträge: 8
Registriert: Mo, 21.01.2008 20:08

Re: Calc: mehreren Zellen jeweils ein Formularfeld hinzufügen

Beitrag von Sammy Rukka »

So, jetzt habe ich das soweit hinbekommen. Nur Schriftart und Größe etc. fehlt noch. Außerdem habe ich noch das Problem, dass die Textfelder des Formulars die Zellenrahmen überdecken. Ich habe jetzt versucht, anhand der Eigenschaften der Zelle das jeweilige Textfeld in der Größe anzupassen. Das ist mir aber nicht gelungen.
Kann mir bitte jmd. auf die Sprünge helfen?!

Code: Alles auswählen

Dim Point As New com.sun.star.awt.Point
Point.x = oCell.Position.x + 60  REM das Rechnen klappte ja nicht
Point.y = oCell.Position.y + 10  REM das Rechnen klappte ja nicht

Dim Size As New com.sun.star.awt.Size
Size.Width = breite REM musste ich mitgeben, weil die Felder teilweise über mehrere Zellen gehen
Size.Height = oCell.Size.Height - 50 REM Hab ich dann ersteinmal fest gesetzt
Antworten