I keep getting errors where xlCategory
, xlValue
and xlPrimary
are not recognised in my python script.
I am trying to label the axes of my graph and was successfully doing so yesterday with this code:
chart = excel.Charts.Add()
chart.Name = "Chart Title"
chart.ChartType = -4169 #xlXYScatter
chart.SetSourceData(firstSheet.Range("$A:$B"))
series = chart.SeriesCollection(1)
series.Name = "Series Name"
chart.Axes(win32com.client.constants.xlCategory).HasTitle = True
chart.Axes(win32com.client.constants.xlCategory).AxisTitle.Caption = "x Axis"
chart.Axes(win32com.client.constants.xlValue).HasTitle = True
chart.Axes(win32com.client.constants.xlValue).AxisTitle.Caption = "y Axis"
This produced the following error:
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
startGraphBuild()
File "C:Python33InCAS_Study_AnalysisVMDvsMODVMDG.py", line 33, in startGraphBuild
chart.Axes(win32com.client.constants.xlCategory).HasTitle = True
File "C:Python33libsite-packageswin32comclient\__init__.py", line 170, in
__getattr__
raise AttributeError(a)
AttributeError: xlCategory
So I tried this from this stackoverflow question changing axis labels in excel 2007 charts using python win32com:
pAxis = chart.Axes(AxisGroup = xlPrimary)
xAxis = pAxis(1)
yAxis = pAxis(2)
xAxis.HasTitle = True
yAxis.HasTitle = True
xAxis.AxisTitle.Caption = "VMD"
yAxis.AxisTitle.Caption = "MOD VMD"
But this produced the following error:
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
startGraphBuild()
File "C:Python33InCAS_Study_AnalysisVMDvsMODVMDG.py", line 37, in startGraphBuild
pAxis = chart.Axes(AxisGroup = xlPrimary)
NameError: global name 'xlPrimary' is not defined
Has anyone else experienced this? Since it was working yesterday I have tried restarting everything, uninstalling and reinstalling pyWin but these haven't worked.
I am using Python 3.3 and Excel 2010.
See Question&Answers more detail:os