2012-01-12 61 views
2

首先,我已经看过每个其他帖子,关于这个(我认为),并没有一个解决它。更改Excel 2007图表系列中的线条颜色

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

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

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

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

有没有人有任何技巧可以解决这个问题?

+0

你怎么练成存取权限,通过C#代码? (根据您的标签) – Moonlight 2012-01-12 08:18:23

+0

@Moonlight,使用Microsoft.Office.Interop.Excel – Nicolai 2012-01-12 08:24:51

+0

发布您的代码,即选择该系列的c#会很有帮助。图表是在一张普通的工作表或图表中吗? – 2012-01-12 16:01:38

回答

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

-2

对于Excel 2007中,以下:

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

为我工作。

0

除了尼古拉的回答,有一个颜色值传递给Border.Color更简单的方法,例如:

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