The lines:
Range("B1").Select
Selection.Value = Str(rObject)
Select cell B1 and set its value to what was returned from J, making sure that
it is a string.
On 2/21/2011 8:31, David Mitchell wrote:
> Graham,
>
> You may have to coax Excel to show the Macro options.
>
> In Excel 2007, I clicked on the circular bubble in the upper left corner of
> the
> main Excel window. I clicked on the button labeled 'Excel Options' in the
> lower
> right of the sub-window. I then clicked on 'Show Developer Tab in the
> Ribbon'.
>
> In Excel 2010, I right-clicked on an empty area of the 'ribbon' and selected
> 'Customize the Ribbon'. I then checked off 'Developer' under 'Main Tabs' or
> 'All Tabs'.
>
> Once you have the Developer tab, you can open up the Visual Basic window.
> Once
> there, the menu option Tools->References will show you the available
> references.
> If J7 has been registered, you should see an option like 'J DLL Server
> (Version 3) Type Library' that you can check off.
>
> The J code is a bit subtle. This is the line that calls J to execute a text
> expression:
>
> Status = jObject.DoR(("!"& Selection.Offset(0, 0).Value), rObject)
>
> The J verb used is !, concatenated to the Value from the selected Cell,
> returning a value to rObject.
>
> This should work with user defined J verbs as well, once they are defined.
> --
> Good luck,
> David Mitchell
>
> On 2/21/2011 7:51, Graham Parkhouse wrote:
>> How do I do step 3, add the Excel Macro Reference to
>>
>> Jsoftware: JDLLServer Type Library?
>>
>> And where is the J in your example? I can't see how entering 123 0 should be
>> expected to result in 123 1.21E+205.
>>
>> Gratefully
>>
>> Graham Parkhouse
>>
>> ----------------------------------------------
>>
>> On Sat 19 Feb, David Mitchell wrote:
>>
>> Here is an example:
>>
>> 1. I went to the bin install directory for J701 and ran this:
>>
>> regsvr32 j.dll
>>
>> 2. I created this Excel macro:
>>
>> Sub Main()
>> Dim jObject As New JDLLServerLib.JDLLServer
>> Dim rObject As Variant
>>
>> Sheets("Sheet1").Select
>> Range("A1").Select
>> Status = jObject.DoR(("!"& Selection.Offset(0, 0).Value),
>> rObject)
>> Range("B1").Select
>> Selection.Value = Str(rObject)
>> jObject.Quit
>> End Sub
>>
>> 3. I added the Excel Macro Reference to
>>
>> Jsoftware: JDLLServer Type Library
>>
>> 4. I entered this into cells A1 and B1 in the Workbook Sheet1
>>
>> 123 0
>>
>> 5. I ran the macro and got this in cells A1 and B1:
>>
>> 123 1.21E+205
>>
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm