Hi :) You might find it well worth buying the 3rd party guide produced by Andrew Pitonyak. This link helps get you there https://wiki.documentfoundation.org/Documentation/Other_Documentation_and_Resources#Programmers
Andrew works hard on this list and in the Docs Team to help people with bits&bobs of code as do other people on this list but the book brings it all together rather well. It might be a good investment. I'm not sure how badly it is affected by alleged changes in the newer version of LO Basic being used by 4.0.0 and beyond but i suspect the book gives such a good overview that changes in the details are easy to figure out. Regards from Tom ) >________________________________ > From: Vieri <rentor...@yahoo.com> >To: users@global.libreoffice.org; mcmurchy1917-libreoff...@yahoo.co.uk >Sent: Wednesday, 8 May 2013, 12:16 >Subject: Re: [libreoffice-users] gettextfields > > >Thanks! > >Making progress... finally. > >Your code actually retrieved the text within my first "text box" (which is at >least something!) but then it fails with the error: > >LibreOffice 4.0.2.2 >BASIC runtime error. >'423' >Text > >it points to line: >Print x.getName() & " : " & x.Text > >It may be choking on a "formatted field" within the document. > >Just out of curiosity, how did you know that you had to use >ThisComponent.DrawPage.Forms? As a novice, I find the documentation to be >quite confusing and a supposedly "simple" task such as getting text field >values seems to be quite difficult. I mean, I found examples on the net and >they all start with something like: > > vEnum = ThisComponent.getTextFields().createEnumeration() > If Not IsNull(vEnum) Then > Do While vEnum.hasMoreElements() > vVal = vEnum.nextElement() > >but then I either don't know how to continue or the examples I found on the >net don't work (maybe outdated OO or LO versions). > >BTW, is there an IDE that can auto-complete Basic code (eg. vVal.??? as in the >example above). > >Thanks, > >Vieri > >--- On Wed, 5/8/13, mcmurchy1917-libreoff...@yahoo.co.uk ><mcmurchy1917-libreoff...@yahoo.co.uk> wrote: > >> I've created two "Text Boxes" in a >> form in a writer document. >> >> I can iterate over them like this grabbing the text as I go >> >> >> Sub EnumerateFields >> >> oDoc = ThisComponent >> oDrawPage = oDoc.DrawPage >> oForm = oDrawPage.Forms.GetByIndex(0) >> For i = 0 To oForm.getCount()-1 >> x = >> oForm.getByIndex(i) >> Print >> x.getName() & " : " & x.Text >> Next >> >> End Sub >> >> >> Does this help in anyway? >> >> Iain >> >> >> On Wednesday 08 May 2013 01:50:02 Vieri wrote: >> > --- On Tue, 5/7/13, Vieri <rentor...@yahoo.com> >> wrote: >> > > --- On Mon, 5/6/13, Andrew Douglas >> > > Pitonyak <and...@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. >> > >> > Trying to attach the file again but it seems that the >> mailing list strips it >> > out. >> > >> > Thanks, >> > >> > Vieri >> >> -- >> To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org >> Problems? >> http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/ >> Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette >> List archive: http://listarchives.libreoffice.org/global/users/ >> All messages sent to this list will be publicly archived and >> cannot be deleted >> >> > >-- >To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org >Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/ >Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette >List archive: http://listarchives.libreoffice.org/global/users/ >All messages sent to this list will be publicly archived and cannot be deleted > > > -- To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/ Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette List archive: http://listarchives.libreoffice.org/global/users/ All messages sent to this list will be publicly archived and cannot be deleted