我在MS Access 2007数据库中有以下代码,该数据库以编程方式创建Excel工作表和关联的图表。尝试使用.tintandshade属性修改图表系列的内部颜色时出现错误1004。
变量'wksIn'是传递给Access子的excel工作表对象。变量'sRange'是子程序中先前定义的字符串。
...
Dim shChart as Excel.Shape
Set shChart = wksIn.Shapes.AddChart(xlColumnStacked100)
Dim chChart As Excel.Chart
Set chChart = shChart.Chart
with chChart
.SetSourceData Range(sRange)
.Axes(xlValue).MajorUnit = 0.2
.SetElement (msoElementLegendBottom)
Dim srSeries As Excel.Series
srSeries = chChart.SeriesCollection(1)
with srSeries
.Interior.Color = RGB(27, 88, 124)
.Interior.TintAndShade = 0.6 ' results in error 1004
.SetElement (msoElementDataLabelCenter)
End With
End With
我孜孜不倦地根据这里的帖子避免了所有选择和Active______参考。任何人都可以看到可能发生1004错误的明显原因,以及如何纠正问题?
一个有趣的旁注是.Interior.ThemeColor属性也会导致1004错误。也许他们有关系?
答案 0 :(得分:0)
正如评论中所述,内政不是正确的财产。
替换以下行(来自您的代码):
.Interior.Color = RGB(27, 88, 124)
.Interior.TintAndShade = 0.6 ' results in error 1004
以下内容:
.Format.Fill.ForeColor.Color = RGB(27, 88, 124)
.Format.Fill.ForeColor.TintAndShade = 0.6