Seite 1 von 2
Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: So, 09.04.2023 00:40
von OkidokiB
Halli Hallo,
und vielen Dank vorab, dass Ihr meinen Post anschaut.
Ich möchte ein Textdokument mit Feldern versehen, die abgerufen werden, wenn man das Dokument aufruft.
Soweit bin ich schon recht weit gekommen, nur ruft mein Makro den Namen, aber auch die Bezeichnung der Felder nicht ab.
Mir wird also immer nur Textfeld 1, Textfeld2 etc. angezeigt.
Ich bin leider trotz einiger Stunden mit Versuchen keinen Schritt weiter gekommen, habe aber eben auch echt keine Ahnung

Kann mir jemand sagen, wo der Fehler in dem Skript unten liegt?
Was ich auch gerne noch wüsste, wie ich dem Makro einen "Stempel" geben kann, um es auch bei hoher Sicherheitseinstellung ausführen zu können
Danke euch!
OkidokiB
Sub AutoOpen()
Dim doc As Object
Dim form As Object
Dim field As Object
Dim sName As String
Dim sValue As String
Dim oCursor As Object
doc = ThisComponent
form = doc.DrawPage.Forms(0)
oCursor = doc.CurrentController.getViewCursor()
For Each field In form
If field.SupportsService("com.sun.star.form.component.TextField") Then
sName = field.Model.Name
sValue = InputBox("Bitte geben Sie den Wert für das Feld '" & sName & "' ein:")
If sValue <> "" Then
field.Text = sValue
End If
End If
Next
doc.CurrentController.getViewCursor().gotoStartOfDoc(True)
End Sub
Re: Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: So, 09.04.2023 12:26
von mikeleb
Hallo,
ich musste zwei Zeilen abändern, um das Makro zum Laufen zu bringen:
aus:
machte ich
und aus
Code: Alles auswählen
doc.CurrentController.getViewCursor().gotoStartOfDoc(True)
machte ich
dann machte es was es soll.
Mir wird also immer nur Textfeld 1, Textfeld2 etc. angezeigt.
Das verstehe ich nicht wirklich ... (Heißen deine Textfelder so?)
Was ich auch gerne noch wüsste, wie ich dem Makro einen "Stempel" geben kann, um es auch bei hoher Sicherheitseinstellung ausführen zu können?
Da bin ich überfragt wüsste es aber auch gern

)
edit: (gerade gelesen
viewtopic.php?p=299794#p299794) Bei den Einstellungen der Makrosicherheit, gibt es auch noch "Vertrauenswürdige Quellen" ...
Re: Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: So, 09.04.2023 23:41
von OkidokiB
Hallo,
erst mal vielen Dank, jetzt läuft es bei mir auch!
Zu dem Punkt Textfeld 1 usw.
Ich wollte mit dem Makro erreichen, dass das jeweilige Textfeld mit Namen abgefragt wird.
Jetzt öffnet sich das Abfragefeld mit "Bitte geben Sie den Wert für das Feld `Textfeld 1`ein:"
und ich hatte gerne, dass es den Namen des Feldes, also z.B. "Vorname" in diese Abfrage integriert,
sprich sie aus dem jeweiligen Feld ausliest. Vergeben habe ich Name und auch Bezeichnung des Feldes,
aber es funzt nicht
Das Dokument, welches mit den Textfeldern versehen wird, ist recht lang und hat viele Variablen und wenn ich
dann immer schauen muss, welches Textfeld welche Nummer hat ...
Vielen Dank im Voraus!
OkidokiB
Re: Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: So, 09.04.2023 23:56
von mikeleb
Hallo,
wie du an meiner Beispiedatei siehst, funktioniert es mit dem Namen.
Wenn bei dir "Textfeld 1" erscheint, dann heißt dein Textfeld offensichtlich so.
Was ist für dich der Name des Textfeldes?
Re: Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: Mo, 10.04.2023 00:06
von OkidokiB
Hallo,
wenn ich ein Textfeld erstelle, dann kann ich ja mit Rechtsklick einen Namen vergeben und auch eine Bezeichnung.
Dort habe ich z.B. bei beidem "Name" eingegeben und dachte, mit dem Makro würde ich das so abfragen.
Aber scheinbar mache ich da einen Denkfehler?
Textfeld heißt es ja vermutlich standardmäßig, weil es ja in der Auswahl des Menüs (ob ich ein Textfeld erstelle, ein Formular oder etc.)
auch so bezeichnet wird.
Grüße!
OkdidokiB
Re: Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: Mo, 10.04.2023 00:51
von mikeleb
Hallo,
was zeigt meine Datei bei dir an?
Re: Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: Mo, 10.04.2023 01:46
von OkidokiB
Hallo,
sie zeigt ein Eingabefeld an eben mit dem Text, den ich oben schrieb und statt "Name" eben "Textfeld 1" beim ersten Feld, beim zweiten Feld statt "Vorname" eben dann "Textfeld 2".
Sorry, dass ich da nicht mehr erklären kann, ich bin sowohl in Openoffice vollkommen neu als auch in OpenOffice Basic.

Re: Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: Mo, 10.04.2023 11:45
von mikeleb
Hallo,
Sorry, dass ich da nicht mehr erklären kann, ich bin sowohl in Openoffice vollkommen neu als auch in OpenOffice Basic.
Dafür ist keine Entschuldigung nötig.
Es ist nur seltsam, da bei mir sowohl mit OpenOffice als als mit LibreOffice die Anzeige:
Bitte geben Sie den Wert für das Feld 'Name' ein:
erscheint.

- txtfeld2.jpg (15.04 KiB) 4015 mal betrachtet

- txtfeld1.jpg (36.36 KiB) 4015 mal betrachtet
Welche Programmversion und welches Betriebssystem benutzt du?
Re: Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: Mo, 10.04.2023 14:03
von OkidokiB
Hallo,
ja, das ist wirklich seltsam.
Also ich nutze MAC OS 13.3.1 und OpenOffice 4.1.14
Eigentlich bin ich kein Fan der neusten Versionen, aber musste es
wegen einer Software machen, die sonst auch nicht richtig funktioniert.
Wäre jetzt doof, wenn ich mir dadurch den Weg versperrt habe, diese Sache
hier richtig zum Laufen zu bringen.
Das Auswahlmenü, welches ich nutzen kann, für das jeweilige Feld, ist auch deutlich
eingeschränkter aus bei deinem Screenshot, der Name des Feldes ist aber auswählbar und von
mir auch vergeben, daher sollte es eigentlich auch gleichermaßen funktionieren!?
Danke für die Hilfe!
OkidokiB
Re: Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: Mo, 10.04.2023 15:03
von mikeleb
Hallo,
mach' mal bitte einen Screenshot zum Vergleich.
Re: Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: Mo, 10.04.2023 23:21
von OkidokiB
Hallo,
anbei einmal die gesammelten Screenshots, ich hoffe, das hilft
Grüße!
OkdokiB
Re: Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: Mo, 10.04.2023 23:32
von mikeleb
Hallo,
klick mal im Kontextmenü auf "Kontrollfeld" ...
Re: Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: Mo, 10.04.2023 23:59
von OkidokiB
YUHUUUUU!!!
Ach wie toll, super dicken Dank!
Dann bastel ich hier mal weiter und hoffe nicht noch weitere doofe Fragen stellen zu müssen!
Echt Klasse! DANKE!
Grüße
OkidokiB
Re: Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: Sa, 15.04.2023 22:09
von OkidokiB
Hallo,
ich habe leider noch mal ein Problem, ich versuche gerade ein vorhandenes Dokument mit befüllbaren Feldern zu versehen, dabei tritt folgender Fehler nach Ausführen des Makros aus und ich weiß nicht warum:
Basic-Laufzeitfehler. Es ist eine Exception aufgetreten
Type: com.sun.star.container.NoSuchElemntMessage:.
mit Hinweis auf folgende Zeile:
For Each field In form.getByName("MainForm")
Komischerweise funktioniert es aber in meinem Testdokument nach wie vor.
Hast Du evt. noch eine Lösung dafür, müsste das eigentlich heute Nacht fertig bekommen
Liebe Grüße
OkidokiB.
Re: Absoluter Neuling braucht etwas Hilfe :-)
Verfasst: Sa, 15.04.2023 22:16
von mikeleb
Hallo,
das Dokument hat vielleicht kein Formular namens "MainForm" oder es enthält keine Elemente oder ...