OlectraChart

2007年7月27日 (金)

OlectraChart6.0グラフ表示時のエラー対応

OlectraChart6.0を使用したグラフを表示しようとすると起こるエラーの対応を行った。
OlectraChartは全く使ったことがなかったので調べるのに手間取った。
<エラー内容>
グラフ表示の際
「実行時エラー '10002'
指定された範囲外の値を設定しました」が出ることがある。
<原因>
横軸のmax値が16までの設定だったので、対象が17以上になるとエラーが出ることが分かった。
<対応>
横軸の max値(今回は対象となる人数)を先に取得し、横軸のMAX値にセット。
具体的な修正コード(修正したのは2007/07/26)
  Chart2D1.ChartGroups(1).Data.NumSeries = 1
    Chart2D1.ChartGroups(1).Data.NumPoints(1) = 16
    Chart2D1.ChartArea.Axes.Item(2).Max.IsDefault = True
    Chart2D2.ChartGroups(1).Data.NumSeries = 1
    Chart2D2.ChartGroups(1).Data.NumPoints(1) = 16
    Chart2D2.ChartArea.Axes.Item(2).Max.IsDefault = True
   
    '↓ADD 2007/07/26
    Do Until rst.eof
        intK = intK + 1
        rst.MoveNext
    Loop
    If intK > 16 Then
        Chart2D1.ChartGroups(1).Data.NumPoints(1) = intK  ’ヘルプを読んでもこの値が何かいまいちよく分からなかったが念のため変更
        Chart2D2.ChartGroups(1).Data.NumPoints(1) = intK  ’同上
        With Chart2D1.ChartArea.Axes("X")
            .DataMax = intK  '横軸データ最大数 プロパティで16に設定されていた
            .Max = intK + 1  '横軸表示最大数 プロパティで17に設定されていた
        End With
        With Chart2D2.ChartArea.Axes("X")
            .DataMax = intK  '同上 この画面には二つグラフがあった
            .Max = intK + 1  '同上
 

        End With
    End If
    rst.MoveFirst
    '↑ADD 2007/07/26