2014-02-26 7 views
2

VS 2012를 사용하는 Windows 서비스와 Word 용 interop 어셈블리를 통해 Word 2010의 내 차트에서 모든 계열에 다른 색을 설정하고 싶습니다.Word에서 차트 계열 색 설정

는 내가 좋아하는 설정 알고

Series series1.Format.Line.ForeColor.RGB = (int)XlRgbColor.xlDarkGoldenrod; 

하지만, 예를 들어 (111,154,169) 정확한 RGB 값을 설정할 아니라 일부 미리 정의 된 색상 (심지어 hexValues).

System.Drawing.Color 구조체를 사용하여이를 수행하는 몇 가지 방법을 찾고 있지만 헛된 일입니다.

답변

1

시도 : 색상은 '경기는 R과 B 구성 요소를 전환하려고 원, 그래서 만약 적어도 Excel에서 R과 B 값이 때로는 반대되는

Series series1.Format.Line.ForeColor.RGB = System.Drawing.Color.FromArgb(111,154,169).ToArgb() 

참고.

다른 스레드에서이 인용을 참조하십시오 : Changing an Excel cell's backcolor using hex results in Excel displaying completely different color in the spreadsheet

은 드디어 시험의 많은 후, 그것을 생각하고, 정말 간단한 일이었다. 분명히 Excel의 Interop 라이브러리에는 버그가 있으며 Red 및 Blue 값을 반대로하므로 RGB 16 진수를 전달하는 대신 BGR을 전달해야하며 갑자기 색상이 제대로 작동합니다. 나는이 버그가 인터넷상의 어느 곳에도 문서화되어 있지 않다는 것에 놀랐다.

다른 사람이이 문제를 겪는다면 Excel 값을 BGR 값으로 전달하기 만하면됩니다. (또는 Color.FromArgb()를 사용하는 경우 Color.FromArgb (B, G, R)을 전달하십시오)

+1

감사합니다.이 더미 코드를 작성하는 범위까지갔습니다. series1.Format.Fill.ForeColor.RGB = int.Parse (Color.FromArgb (31,111,154,169) .Name, System.Globalization.NumberStyles.AllowHexSpecifier); – pxm

관련 문제