Johnny,
You asked: "Is there a reason why you want to use that UNO dispatcher
thing...?"
Yes. That's what I got from the macro recorder. I'm low on the learning
curve.
I would love to learn about your
"ThisComponent.getSheets().getByIndex(0).getCellByPosition(0,0).setValue(x)".
Especially the ".setValue"!
That type of syntax I have not found anywhere in the LO Basic
documentation. Can you point me to the source for this?
Thank you,
David
On Mon, 21 Nov 2011 09:08:41 -0800, Johnny Rosenberg
<[email protected]> wrote:
2011/11/21 David S. Crampton <[email protected]>:
I wish to perform some complex arithmetic operations on several
variables.
One such variable is "Firsta" as in the attachment below. I wish to
enter
the values of Firsta (and others) into cells in Calc. The only method I
have
found for entering data into cells is the dispatcher statement using
"uno:EnterString". This I am using from the Macro recorder script.
The issue appears to be that "uno:EnterString" requires a string as its
parameter. If the parameter is a numeric (an integer in my case), the
cell
is left empty.
How to enter an integer value from LO Basic into a cell without having
to
klutzy-convert it to a string? Is there an equivalent to Calc's
"Text(ref,
format)" function that will execute in Basic?
I've searched Andrew's book (very good book) and other web resources
about
uno (very bad resources mostly). Andrew's book, however, doesn't
include
the EnterString method in its uno chapter.
LO v3.4.4 on Windows XP Pro
~~~~~~~begin code fragment~~~~~~~~~~~~~~~~~
~~~~~~~this code works OK only because of the number-to-string
conversion~~~~~~~~~~~~~~~~~
Things = 9
Do
' WriteTriplet0
dim args5(1) as new com.sun.star.beans.PropertyValue
args5(0).Name = "By"
args5(0).Value = 1
args5(1).Name = "Sel"
args5(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args5())
Select Case Firsta
Case 1
args1(0).Value = "1"
Case 2
args1(0).Value = "2"
Case 3
args1(0).Value = "3"
Case 4
args1(0).Value = "4"
End Select
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args1())
Firsta = Firsta + 1
Loop While Firsta <= Things
~~~~~~~end code fragment~~~~~~~~~~~~~~~~~
--
David S. Crampton
Is there a reason why you want to use that UNO dispatcher thing or
whatever it is called. Why not just doing something like the
following?
Dim x As Integer
x=3
ThisComponent.getSheets().getByIndex(0).getCellByPosition(0,0).setValue(x)
Well, something like that, I didn't test it.
Kind regards
Johnny Rosenberg
ジョニー・ローゼンバーグ
--
For unsubscribe instructions e-mail to: [email protected]
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