![]() |
Pulling values out of cells using automation
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 |
All times are GMT +1. The time now is 07:05 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com