← Back to context

Comment by 3pt14159

16 years ago

There are multiple versions of Solver. To get the free one to do this requires a hack (using some sort of Fourier Transform into a cell or something, I think there are multiple ways). There are paid versions of Solver that are far more powerful, with fully developed APIs. Also, Iron Python can be used with Excel, which makes the whole thing really intense because many Python Libs can be used. Excel truly is Microsoft's shiniest, best piece of software.

> Excel truly is Microsoft's shiniest, best piece of software.

I would grant that honour to SQL Server. In fact, I regard SQL Server as Microsoft's third best product, lagging behind both the Natural Keyboard series (a must) and their mice ("honest value", reliable and comfortable). Never thought that, but Excel could be the fourth product in this list.

Excel is scriptable by COM and therefore VBSript, Python+PyWin32, and any other COM scripting language.

Presumably you mean IronPython integration in a different sense due to it being a .Net library? Got any links with examples of how that looks / what it can do?

  • You are totally right, it had been a while since I had looked into this. I was confusing (blending together?) pyinex and IronPython. You are right, IronPython (and tons of other languages) all have access to the .Net libs, but pyinex is what I was thinking of. Apparently, though, it is not fully developed yet.

    http://code.google.com/p/pyinex/

    • I was thinking you were going to refer to .Net linking with Office, which seems to be something different from the COM automation, and more complicated than I've ever been interested in.

      That, however, looks pretty darn cool. On the odd occasion I've used Python/COM/Excel together, I've really wished for a Python shell inside Excel to do things like:

        for cell in Range('a1:a10'):
            cell.Value = cell.Value.split('-')[0]
      

      or whatever. I don't know if Pyinex will quite do that, but thanks for the link!

      1 reply →