Re: How can I read my code in a module in the Basic IDE with Basic code?

Johnny Rosenberg <[email protected]> Sun, 14 Aug 2011 18:12:03 +0200
Newsgroups gmane.comp.openoffice.devel.api
Message-ID <CADo7T4esW8zxzCq8ZaAz1E7K+0CWe9t37vcs4uHdWEnnD4Xi8w@mail.gmail.com>
2011/8/14 Johnny Rosenberg <[email protected]>:
> 2011/8/14 Oliver Brinzing <[email protected]>:
>> Hi Johnny,
>>
>>> If I only can read all the text in one module at once, that would do
>>> it just fine. If there is a simple one-liner that reads just one
>>> function or subroutine, that's a bonus, and if I can read a dialogue
>>> that's even better=E2=80=A6
>>
>> Have you tried:
>>
>> Sub Test()
>>
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0Dim oLibs as Object
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0Dim oLib as Object
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0Dim sLib as String
>>
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0Dim mTmp()
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0Dim i as Integer
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0Dim s as String
>>
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0sLib =3D "Standard"
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0oLibs =3D GlobalScope.BasicLibraries
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0If Not oLibs.hasByName(sLib) Then
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0MsgBox "Error rea=
ding " & sLib
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0EndIf
>>
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0oLib =3D oLibs.getByName(sLib)
>>
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0mTmp() =3D oLib.getElementNames()
>>
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0For i =3D 0 To uBound(mTmp())
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0s =3D s + mTmp(i)=
 & Chr(13)
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0Next i
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0MsgBox s
>>
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0MsgBox oLib.getByName(mTmp(0))
>>
>> End Sub
>
> No, I didn't, but it seems to work for my global macros. I guess I
> need to change the =E2=80=9DoLibs =3D GlobalScope.BasicLibraries=E2=80=9D=
 line for local
> code (macros for the current document only), but to what?
>
>
> Regards
>
> Johnny Rosenberg
> =E3=82=B8=E3=83=A7=E3=83=8B=E3=83=BC=E3=83=BB=E3=83=AD=E3=83=BC=E3=82=BC=
=E3=83=B3=E3=83=90=E3=83=BC=E3=82=B0
>
>> Regards
>> Oliver
>

Experimented a bit:
Sub Main
	Dim A As String
=09
'	Getting code from the tab =E2=80=9DSpel=E2=80=9D in the current document:
	A=3DThisComponent.BasicLibraries.getByName("Standard").getByName("Spel")
	MsgBox A
End Sub

Thanks for your hint!


Kind regards

Johnny Rosenberg
=E3=82=B8=E3=83=A7=E3=83=8B=E3=83=BC=E3=83=BB=E3=83=AD=E3=83=BC=E3=82=BC=E3=
=83=B3=E3=83=90=E3=83=BC=E3=82=B0
--=20
-----------------------------------------------------------------
To unsubscribe send email to [email protected]
For additional commands send email to [email protected]
with Subject: help