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> -- http://mail.python.org/mailman/listinfo/python-list