@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

.NETでのExcelグラフの色

1
投稿者投稿内容
あび
ベテラン
会議室デビュー日: 2004/07/29
投稿数: 59
投稿日時: 2006-07-28 15:20
VB.NETで、Excelのグラフ(積み上げ横棒グラフ)を作成しようとしています。
系列の色をRGBで指定できるようにしていますが、系列数が56を超えると指定したRGBの色ではなくて、ExcelBookの色パレットのindexが41からの色になってしまいます。
(57番目はcolorindex=41、58番目はcolorindex=42....)

テストで、系列64個のグラフの色を全て、白にするプログラムをですが、結果は56番目での系列しか白になりませんでした。

For i As Integer = 1 To 64
Dim Col As Excel.Series = Graph.SeriesCollection(i)
Col.Interior.Color = RGB(255, 255, 255)
Next

ちなみに、ExcelのマクロVBAでやった場合は、問題ありませんでした。

56という数字から、カラーパレットに関する問題だとは思うのですが。。。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-07-30 16:02
引用:

あびさんの書き込み (2006-07-28 15:20) より:

For i As Integer = 1 To 64
  Dim Col As Excel.Series = Graph.SeriesCollection(i)
  Col.Interior.Color = RGB(255, 255, 255)
Next


とりあえず、ここに至るまでのソースも書いて頂けませんか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
あび
ベテラン
会議室デビュー日: 2004/07/29
投稿数: 59
投稿日時: 2006-07-31 08:58
じゃんぬねっとさん、お返事が遅くなりました。
まだ途中なので正解は得られていませんが、これまで調べた結果をご報告します。
どうやら、色の指定は、RGBでは指定できないようです。

Col.Interior.Color = RGB(255, 255, 255)

と指定すると、RGBで指定された色に最も近いパレットの色が選択されるそうです。

ですから、まずは、カラーパレットに色を設定してから、そのcolorindex番号を指定するのが正攻法のようです。

まずは、この方法でやってみます。






1

スキルアップ/キャリアアップ(JOB@IT)