Innerhalb von Basic kann man auch auf vorhandene Autotext verwenden. Dazu muss man
aber
den Bereich und den Autotextnamen kennen.
Der Zugriff erfolgt über den Service "com.sun.star.text.AutoTextContainer".
Über diesen kann man auf die Bereiche und dann auf die einzelnen Autotexte zugreifen.
Die erste Fall sind die englischen Bezeichnungen. Die Bereiche werden im Dialog als
"Standard", "Nur für Vorlagen", "Eigene Bausteine" und "Visitenkarten.."
angezeigt. Der Aufruf
erfolgt aber über die englischen Bezeichnungen: "standard", "template", "crdbus50"
und
"mytexts".
oAutotexte = createunoservice("com.sun.star.text.AutoTextContainer")
oBereich=oAutotexte.getByName("standard")
Nun kommt die nächste Falle. Es gibt zwar innerhalb des Service
com.sun.star.text.AutoTextGroup die Methode getbyname, mit dieser kann man aber nicht
über den Namen des Textbausteines zugreifen. Intern ist der Name nur der Titel und der
eigentliche Name das Kürzel.
Der Zugriff erfolgt daher mit getbyname und dem Kürzel. Hier für einen Text innerhalb
des
Bereiches Standard: Anfrage.
oAutotext=oBereich.getByName("AF")
Den in diesem Autotext gespeicherten Text kann man jetzt an der Cursorstelle einfügen.
Dies
erfolgt aber nicht über die Methode "insertTextContent" wie bei den meisten anderen Fällen
sondern mit einer eigenen Methode des Services: applyto.
odoc=thiscomponent
otext=odoc.text
ocursor=otext.createtextcursor()
oautotext.applyto(ocursor)