Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Excel 2007图表系列中更改线条颜色_C#_Charts_Excel 2007_Excel Interop - Fatal编程技术网

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

C# 在Excel 2007图表系列中更改线条颜色,c#,charts,excel-2007,excel-interop,C#,Charts,Excel 2007,Excel Interop,首先,我看了这里的每一篇文章,关于这个(我想),没有一篇能解决这个问题 我在excel中有一个图表,我想在其中更改线条的颜色。看起来,系列行设置中的所有内容都是遥不可及的。如果我无法设置颜色,我希望将填充设置为“无”,因此线条不可见,只显示标记,我可以操纵标记 但是,填充也在颜色设置中 我也试过录制一个宏,但除了系列选择之外,它什么也没显示 这里的其他帖子建议在该系列中设置边框,但据我所知,没有边框对象 有人有什么技巧可以解决这个问题吗?所以,在MSDN论坛上,安德烈·斯莫林设法帮我解决了这个问

首先,我看了这里的每一篇文章,关于这个(我想),没有一篇能解决这个问题

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

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

我也试过录制一个宏,但除了系列选择之外,它什么也没显示

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


有人有什么技巧可以解决这个问题吗?

所以,在MSDN论坛上,安德烈·斯莫林设法帮我解决了这个问题。 这确实是一部连续剧。边界把它固定住了

最大的问题是,这个边界并没有显示为序列上的对象。甚至在VBA中也没有。 在Excel2010中它似乎是固定的,但这是我在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线程:


对于Excel 2007,以下内容:

series5.Interior.Color=Color.FromArgb(80208146).ToArgb()


适合我。

除了Nicolai的答案外,还有一种更简单的方法可以将颜色值传递给边框。例如,颜色:

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

如何通过c代码访问excel?(根据您的标签)@Moonlight,与Microsoft.Office.Interop.ExcelIt一起发布您的代码会很有帮助,例如选择该系列的c#。图表是在常规工作表中还是在图表表中?