Python和win32com.client似乎缺少方法,特别是SetSourceData

时间:2013-05-01 09:40:51

标签: python excel win32com

我正在使用Python来自动化一些Excel数据分析。我有大部分基础知识,但我似乎找不到任何方法可以成功拨打SetSourceDataSeriesCollection。我读过this post(和所有其他人)并发现它有希望,但它似乎与我的经验不符。我在Windows机器上使用Python 2.7.3,32位。

是否有人成功使用过SetSourceDataSeriesCollection

这是我正在使用的代码的简化版本和错误:

chart = chartSheet.ChartObjects(1)

chart.SetSourceData(chartSheet.Range("A1:B2"),PlotBy=2) 

我因this而指定PlotBy,但我怀疑是否重要

错误:

raise AttributeError("'%s' object has no attribute '%s'" % (repr(self), attr))

AttributeError: '<win32com.gen_py.Microsoft Excel 14.0 Object Library.ChartObject instance at 0x68557120>' object has no attribute 'SetSourceData'

哎呀。我应该看看IronPython吗? (我发现了MSDN文档中指定的一些其他内容,但似乎不适用于Python ......但现在不能记住它们。)

1 个答案:

答案 0 :(得分:1)

这一行

chart = chartSheet.ChartObjects(1)

实际上并不返回Chart个对象(quote

  

此方法不等同于Charts属性。此方法返回嵌入图表;图表属性返回图表。使用Chart属性返回嵌入图表的Chart对象。

我没试过这个,但听起来好像你需要引用chart属性,可能是这样的:

chartObject = chartSheet.ChartObjects(1)
chart = chartObject.chart