Pulling values out of cells using automation

S

seabird

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

All is going well when I have cells that contain simple data types, but as
soon as there is any kind of complexity in a formula, I get a weird 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 what shows on
the screen.
When I go in from Ruby (via WIN32OLE), I get the number -2146826265 back. I
really want the word Adopt!

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 many better
(faster) ways of getting the range back in one fell swoop, but right now I am
less interested in that. First get answers that you like, then improve the
approacch!

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

Strangely every complex formula returns this identical value......

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

Thanks in advance for any help.

Chris
 

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