Help with COM example from the PPWin32 book
Will Ganz
wganz at texoma.net
Tue Dec 4 02:39:09 EST 2001
Platform:
Windows 98SE, Excel2000, PythonWin 2.1.1 (#20, Jul 26 2001, 11:38:51)
HP-6648C(K6-2 550 w/192megs RAM, 20gig hd w/11gig free)
Problem:
The COM example on pages 68/69 from the 'caiman' book doesnt work. Gives a
error of 438 when VBA code from Excel is executed.
Discussion:
>>>>>> SimpleCOMServer.py <<<<<<<<<<<<<<
#simple COM Server demo
class PythonUtilities:
_public_methods_ = [ 'SplitString' ]
_reg_progid_ = "PythonDemos.Utilities"
_reg_clsid_ = "{B91A4120-E716-11D5-9D0B-FFFFFF000000}"
def SplitString( self, val, item=None ):
import string
if item != None: item = str(item)
return string.split(str(val), item)
if __name__ == '__main__':
print "Registering COM server . . . . . . . ."
import win32com.server.register
win32com.server.register.UseCommandLine(PythonUtilities)
Invoked with c:\>python SimpleCOMServer.py
Output:
Registering COM server . . . . . . . .
Registered: PythonDemos.Utilities
In PythonWin Editor goto
Tools
COM browser
Registered Categories
Python COM Server
IID: PythonDemos.Utilities, double click to get
{B91A4120-E716-11D5-9D0B-FFFFFF000000}
So, I know that this is registered. Right??
In Excel's VBA Editor the following code is entered
Sub TestPython()
Set PyUtil = CreateObject("PythonDemos.Utilities")
response = PyUtil.SplitString("Hello from Python")
For Each Item In response
MsgBox Item
Next
End Sub
Invoked by clicking on the Run button on the toolbar and it gives an error
of,
Run-time error '438'
Object doesn't support this property or method
When Debug is clicked, the yellow highlight is on this line:
response = PyUtil.SplitString("Hello from Python")
Yes, I have RTFM, RTFFAQ, STFA(Searched the archive), BMFB(Bought more
books), RTFT(Read those too), used Google, looked at Mark Hammond's site &
looked at his ppt files, and all to no avail.
Does anyone know what is going on here??
Thanks for the help,
Will
More information about the Python-list
mailing list