A Ruby/Excel issue - Cross posted from Miscellaneous

S

seabird20

All, apologies for the cross posting, but I had no takers on th
Miscellaneous forum.

I don't think this is pecifcally a Ruby problem, that's just what I wa
using when I encountered the issue below.:(

I am having a troublesome problem. I am trying to pull data out of
complex Excel workbook (several worksheets in the book) and make th
contents available for a variety of reporting uses. I am working i
Ruby - for no reason other than "just because".

All is going well when I have cells that contain simple data types, bu
as soon as there is any kind of complexity in a formula, I get a weir
negative number back instead of the contents. For example:

Cell K3 has this formula.....=VLOOKUP(H3,Quadrant_Table,3)
The value when that formula is executed is "Adopt" and that is wha
shows on the screen.
When I go in from Ruby (via WIN32OLE), I get the number -214682626
back.

The Ruby snippet that does this is

colIndex = @startCol
colIndex.upto(endCol) {|aCol|
currCell = ("#{@@colnames[aCol-1]}#{aRow}")
@cells << (sheet.Range(currCell) ['Value']).to_s

}
}
end

@cells is an array of individual cells. There are likely to be man
better (faster) ways of getting the range back in one fell swoop, bu
right now I am less interested in that. First get answers that yo
like, then improve the approacch!

For simple string values, non formula arithmetic values, this deliver
just what it should. However for these complex formulae the result i
always that funky -2146826265. This is also x'800A07E7' which look
suspiciously like an hresult value.

So the question is, how to I get the displayed value out of the cel
from my Ruby program?

Thanks in advance for any help.

Chri
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top