--- On Mon, 5/6/13, Andrew Douglas Pitonyak <andrew@pitonyak.org> wrote:
On 05/06/2013 05:21 AM, Vieri wrote:
Hi,
I have an odt writer document with 2 input text fields
(added with the form designer toolbar). I manually type text
into one of the fields. I copy/pasted a macro to see if I
could grab the text within the input field but haven't had
any luck. This is the test macro in Basic:
Sub EnumerateFields
vEnum =
ThisComponent.getTextFields().createEnumeration()
If Not IsNull(vEnum) Then
If vEnum.hasMoreElements() Then
Print "OK"
Else
Print "NOT OK"
End If
End If
End Sub
If I manually run this macro I get the "NOT OK"
message.
What am I doing wrong?
What is the correct way of getting the text field
elements?
Thanks
Vieri
I grabbed these two routines from my test modules without
running them first....
Hi,
Thanks for the reply but I'm still having trouble.
I'm either way off-course, misusing LO or making a dumb rookie mistake.
I copied your macros to my odt document.
I then did a "tools, macros, run macro..." and selected the Subs I copied.
If I run EnumerateTextFields then it yields the "Finished" message box (nothing else).
If I run DisplayMasterFields then it yields the following message:
===Text Field Masters===
(com.sun.star.text.fieldmaster.SetExpression.Illustration,Illustration)
(com.sun.star.text.fieldmaster.SetExpression.Table,Table)
(com.sun.star.text.fieldmaster.SetExpression.Text,Text)
(com.sun.star.text.fieldmaster.SetExpression.Drawing,Drawing)
My odt document has 2 input fields in a form.
By the way, if I place a button within my form and configure the "Mouse button pressed" to launch,
say, EnumerateTextFields then I get the following error message:
"LibreOffice 4.0.2.2 BASIC runtime error. '423' getTextFields" and it points at the line:
"oEnum = oDoc.getTextFields().createEnumeration()"
I'm stuck on something that should be quite simple.
I'm attaching my odt file hoping that someone can tell me what novice mistake I'm making.
Thanks,
Vieri
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.