Connecting to Python COM server from Excel VBA does not work

D

diego

I ran this script:
---------------------------
class Example(object):
_public_methods_ = ['Add','Mul']
_reg_progid_ = 'MyPython.Example'
_reg_clsid_ = '{E39ECD8C-7FAF-48B0-B914-1202319499D4}'

def Add(self,a,b): return a+b

def Mul(self,a,b): return a*b

if __name__ == '__main__':
import win32com.server.register
win32com.server.register.UseCommandLine(Example)
---------------------------------
connecting to this COM server works with following VBS-script:
---------------------------------
Set ex = CreateObject("MyPython.Example")
msgbox ex.Add(1, 2)
---------------------------------

when i run following VBA script in excel
---------------------------------
Sub Testit()
Set ex = CreateObject("MyPython.Example")
MsgBox ex.Add(1, 2)
End Sub
---------------------------------

i get the error:
Run-time error '-2137024770 (8007007e)':
Automation error
The specified module could not be found



Any ideas what the problem could be?
Already searched a long time for solutions but did not find any....

thanks,
diego
 
M

Michel Claveau - MVP

Hi !

Warning with lower/uppercases!
Try to make two versions of your methods (ex.: "add" & "ADD"), for study.

@+
 
D

diego

Hi !

Warning with lower/uppercases!
Try to make two versions of your methods (ex.: "add" & "ADD"), for study.

@+


The error comes already at the first line of Excel/VBA code:
Set ex = CreateObject("MyPython.Example")


rgds,e
 
D

diego

Hi !

Warning with lower/uppercases!
Try to make two versions of your methods (ex.: "add" & "ADD"), for study.

@+


The error comes already at the first line of Excel/VBA code:
Set ex = CreateObject("MyPython.Example")


rgds,e
 
D

diego

the problem was that i had never installed python on my workstation.
just had a Python25 folder with a batch-file that was adjustin the
PATH and executing %PYTHONHOME%python.exe
installed Python properly and now everything works fine....
 

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

Members online

Forum statistics

Threads
473,990
Messages
2,570,211
Members
46,796
Latest member
SteveBreed

Latest Threads

Top