Изменить цвет линии в серии диаграмм Excel 2007 - PullRequest
2 голосов
/ 12 января 2012

Прежде всего, я посмотрел КАЖДЫЙ другой пост здесь, об этом (я думаю), и никто из них не решает его.

У меня есть график в Excel, где я хотел бы изменить цвет линии. Кажется, что все в настройках линейки серии, вне досягаемости. Если я не могу установить цвет, я бы хотел установить для заливки значение none, чтобы линия была невидимой, показывая только маркеры, которыми я могу управлять.

Впрочем, заливка тоже в настройках цвета.

Я также попытался записать макрос, но он ничего не показывает, кроме выбора серии.

В других постах здесь предлагается установить границу для серии, но, по моим сведениям, для нее нет объекта границы.

У кого-нибудь есть какие-нибудь хитрости, которые могут решить эту проблему?

Ответы [ 3 ]

3 голосов
/ 13 января 2012

Итак, на форумах MSDN Андрей Смолин сумел решить это за меня.Это действительно был Series.Border, который это исправил.

Большая проблема заключалась в том, что Border не показывался как объект в серии.Даже в VBA.Кажется, это исправлено в Excel 2010, но это поведение, которое я испытываю в пакете обновления 3 (SP3) 2007 года.

Итак, решение было просто набрать:

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

0 голосов
/ 26 мая 2016

В дополнение к ответу Николая, есть более простой способ передать значение цвета в Border.Color, например:

    Series1.Border.Color = (int) XlRgbColor.rgbRed;
0 голосов
/ 11 декабря 2014

Для Excel 2007:

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

у меня работает.

...