1.MSChart コントロールでの基本的な設定(表示データの設定・グラフの種類の設定) |
1.CSVファイル(xlsファイル)をADOを使ってMSChartコントロールにセットする 2.MSChartコントロールのグラフの種類を設定・変更する 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Option :[Option Explicit] 参照設定:Microsoft ActiveX Data Objects 2.8 Library 参照設定方法参照 使用 API:なし その他 :プロジェクト→コンポーネント→Microsoft Chart Control 6.0 にチェックを入れておいて下さい。 :ツールボックスに表示された、MSChart コントロールをフォームに貼り付けて下さい。 |
1.CSVファイル(xlsファイル)をADOを使ってMSChartコントロールにセットする |
使用するデータは、下記のようなCSV(xls)ファイルをエクセル等で作成して使います。 国語 数学 英語 浅野 69 81 73 安室 87 80 72 加藤 74 82 96 斉藤 71 69 81 鈴木 84 86 75 又は、下記よりダウンロードして使って下さい。 http://hanatyan.sakura.ne.jp/bbs_gif/ChartDat1.zip 上記ファイルは、EXE と同じフォルダーに入れておいてください。 準備ができたら、下記のコードをフォームにペーストして実行して見て下さい。 (コードを貼り付ける以外プロパティ等の設定は一切不要です。) 使用するコントロールと配置は、下記コードと下図をご覧下さい。 Private Sub Form_Load() Form1.Move 1000, 1000, 9600, 5130 MSChart1.Move 0, 0, 8000, 4500 End Sub Private Sub Command1_Click() Call sDataOpen End Sub Private Sub sDataOpen() Dim CN As New ADODB.Connection Dim RS As New ADODB.Recordset Dim strSQL As String Dim FolderName As String Dim DataFile As String FolderName = App.Path '------------------- CSV ファイルの場合 ------------------- DataFile = "Test.csv" CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FolderName & _ ";Extended Properties=""Text;HDR=YES;IMEX=1;FMT=Delimited""" CN.Open strSQL = "Select * From " & DataFile '---------------------------------------------------------- '------------------- xls ファイルの場合 ------------------- ' DataFile = FolderName & "\test.xls" 'データファイル名を取得(通常で) ' Dim SheetNeme As String ' SheetNeme = "test" 'Excelファイルのシート名 ' 'データベースに接続するための情報を設定する ' CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataFile & _ ' ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""" ' CN.Open 'コネクションをオープン ' strSQL = "Select * From [" & SheetNeme & "$]" '---------------------------------------------------------- RS.Open strSQL, CN, adOpenStatic, adLockReadOnly, adCmdText '------------- ここまでは MSHFlexGrid の場合と同じです ------------- '※ 一旦先頭(最初)のレコードに移動(ここがミソ) RS.MoveFirst Set MSChart1.DataSource = RS 'MSChartにデータを代入 RS.Close CN.Close Set RS = Nothing Set CN = Nothing End Sub 上記コードの実行結果(プロパティ等の設定を何もしない状態で下記のように表示されれば OK です。) グラフに表示するデータは、大抵の場合、CSV ファイルか Excel ファイルになる事が殆どなので、今回のサンプルからは、MSHFlexGrid のところでも使っていた、ADO を使って MSChart に設定する事にしました。 |
2. |
Private Sub Command1_Click() Call sDataOpen Call sChartViewSet End Sub Private Sub sChartViewSet() 'グラフの表示設定 '------------------- グラフの種類を設定 ---------------------- With MSChart1 '設定しなければ、VtChChartType2dBar となる .chartType = VtChChartType2dBar 'デフォルトのグラフタイプ(2D棒) End With '--------------------------------------------------------------- End Sub 以後のサンプルのコードは、上記 sChartViewSet プロシージャ内に記入する事になります。 従って、ここまでの表示設定の部分は今後、省略します。 MSChart に表示できるグラフの種類は、下記のようなものです。 よく、**グラフの表示の仕方を教えて下さいと言った質問がありますが、下記の定数のグラフ以外は表示できません。 VtChChartType3dBar '3 次元バー VtChChartType2dBar '2 次元バー VtChChartType3dLine '3 次元線 VtChChartType2dLine '2 次元線 VtChChartType3dArea '3 次元面 VtChChartType2dArea '2 次元面 VtChChartType3dStep '3 次元階段 VtChChartType2dStep '2 次元階段 VtChChartType3dCombination '3 次元組み合わせ VtChChartType2dCombination '2 次元組み合わせ VtChChartType2dPie '2 次元パイ VtChChartType2dXY '2 次元 XY |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
MSChart コントロール チャートコントロール グラフの種類を設定 CSV ファイルをグラフに表示 xls ファイルをMSChart コントロールに設定 エクセルファイルチャートコントロールに設定 データファイルを読み込み エクセルファイルを使ってグラフを表示 |