win32com Excel bug?

cfriedalek at gmail.com cfriedalek at gmail.com
Wed Apr 19 02:02:10 EDT 2006


I'm driving Excel from python, largely successfully. Now I'm trying to
add errorbars to XY scatter plots. Keep getting a com_error. Can't
track down the problem.

I modified a simple example to duplicate the problem. Thanks to Mathieu
Fenniak http://www.stompstompstomp.com/weblog/entries/67/ for the code.

The traceback is shown below. You can see that the Excel chart series
has a method called ErrorBar. But when I try to use it with any or all
of its allowed arguments, it fails. The traceback goes into the guts of
win32com but I don't really have a clue at that point. (Happy to learn
something new though).

The relevant Excel VBA language doc is here.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbaxl11/html/xlmthErrorBar1_HV03076818.asp

Hope someone can help. Losing hair .... fast!



In [16]: %run test.py
--Return--
> c:\python23\lib\pdb.py(992)set_trace()->None
-> Pdb().set_trace()
(Pdb) c
There's a method waiting
---------------------------------------------------------------------------
pywintypes.com_error                                 Traceback (most
recent call
 last)

c:\temp\mpival\test.py
     79
     80     # A simple example:
---> 81     plot( (1,2,3,4,5), (6,7,8,9,10) )
     82
     83     # Some more data:

c:\temp\mpival\test.py in plot(x, y, xAxisLog, yAxisLog)
     35     if series.ErrorBar:
     36         print "There's a method waiting"
---> 37         series.ErrorBar(Direction = constants.xlY)
     38
     39

C:\Python23\lib\site-packages\win32com\gen_py\00020813-0000-0000-C000-0000000000
46x0x1x4.py in ErrorBar(self, Direction, Include, Type, Amount,
MinusValues)
  22722                         , MinusValues=defaultNamedOptArg):
  22723                 return self._ApplyTypes_(152, 1, (12, 0), ((3,
1), (3, 1
), (3, 1), (12, 17), (12, 17)), 'ErrorBar', None,Direction
> 22724                         , Include, Type, Amount, MinusValues)
  22725
  22726         def Paste(self):

C:\Python23\lib\site-packages\win32com\client\__init__.py in
_ApplyTypes_(self,
dispid, wFlags, retType, argTypes, user, resultCLSID, *args)
    444         def _ApplyTypes_(self, dispid, wFlags, retType,
argTypes, user,
    445                      resultCLSID, *args):
--> 446                 return self._get_good_object_(
    447                     self._oleobj_.InvokeTypes(
    448                               dispid, 0, wFlags, retType,
argTypes, *arg
s),

com_error: (-2147352567, 'Exception occurred.', (0, 'Microsoft Excel',
'ErrorBar
 method of Series class failed', 'C:\\Program Files (x86)\\Microsoft
Office\\Off
ice10\\1033\\xlmain10.chm', 0, -2146827284), None)
WARNING: Failure executing file: <test.py>




More information about the Python-list mailing list