I am trying to expose a couple Numpy functions to excel. Namley Numpy.linalg.inv and Numpy.array.dot. I have successfully accessed the following com server from within excel with CreateObject
======================================================================== test_com.py ======================================================================== from numpy.linalg import inv from numpy import asarray from win32com.client import Dispatch class NevcoModule: _public_methods_ = [ 'MInverse', 'MMult', "TestInstall" ] _reg_progid_ = "Nevco.Modules" _reg_clsid_ = "{79D06C97-331A-4BF8-824A-8DA3B618F8DB}" def TestInstall(self): return "Yes" def MInverse(self,arg): myarg = asarray(arg) i = inv(myarg) return i def MMult(self,M1,M2): mM1 = asarray(M1) mM2 = asarray(M2) x = mM1.dot(mM2) return x if __name__=='__main__': import win32com.server.register win32com.server.register.RegisterClasses(NevcoModule) interp = Dispatch("Nevco.Modules") raw_input("Leave running and then press enter to exit.") win32com.server.register.UnregisterClasses(NevcoModule) ======================================================================== I then have a function in VBA inside excel which accesses this server with Obj = CreateObject("Nevco.Modules"). I would like to share this code with a couple coworkers who are not interested in learning python, so I would like to create an executable to start the server for them. My py2exe setup.py look like ======================================================================== setup.py ======================================================================== from distutils.core import setup import py2exe setup( name="Nevco Excel", version="0.1", description='Functions to use inside excel.', author='Bill Purcell', author_email='bpurc...@nevco.com', com_server=["win32com.servers.interp"], options = {'py2exe': {'includes': 'numpy'}}, ) ======================================================================== Unfortunately when I run the test_com.exe generated from python setup.py py2exe, I get a "Cannot Create Object" error. I can't remember the exact error but that is pretty close. When I run the function excel just hangs and a console displays with the text about installing the "Nevco.Modules" object. What is the right approach to exposing com servers to be accessible via py2exe to VBA? Also, I would like to eventually move towards maybe writing an Add-in. Does anyone have any "Hello World" excell Add-in tutorials for Python? I know these topics are slightly redundant in the list but I couldn't find any good answers. Regards, Bill _______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32