在Excel 2007图表系列中更改线条颜色

时间:2012-01-12 08:10:39

标签: c# charts excel-2007 excel-interop

首先,我看过这里的其他帖子,关于这个(我想)并且没有人解决它。

我在excel中有一个图表,我想更改该行的颜色。看起来,系列行设置中的所有内容都是遥不可及的。如果我无法设置颜色,我想将填充设置为无,因此该行是不可见的,只显示标记,我可以操作。

但是,填充也在颜色设置中。

我也尝试过录制宏,但除了系列选择外,它没有显示任何内容。

此处的其他帖子,建议在系列中设置边框,但据我所知没有边框对象。

有没有人可以解决这个问题?

3 个答案:

答案 0 :(得分:3)

所以,在MSDN论坛上,Andrei Smolin设法为我解决了这个问题。 确实是Series.Border修复了它。

最大的问题是,边框没有出现,作为系列的对象。甚至没有VBA。 它似乎在Excel 2010中得到修复,但这是我在2007 SP3中遇到的行为。

因此,解决方案只需输入:

MSExcel.Series Series1 = (MSExcel.Series)Chart.SeriesCollection(1);
Series1.Border.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.FromArgb(79, 129, 189));

编译得很好,并且在运行时工作。

为了便于参考,这是MSDN主题:

http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/2816660e-a18e-47f4-b121-02a71cb2c262

答案 1 :(得分:0)

除了Nicolai的回答之外,还有一种更简单的方法可以将颜色值传递给Border.Color,例如:

    Series1.Border.Color = (int) XlRgbColor.rgbRed;

答案 2 :(得分:-2)

对于Excel 2007,以下内容:

series5.Interior.Color = Color.FromArgb(80, 208, 146).ToArgb();

适合我。