玄関へお回り下さい。
ADOを使ってExcel 用ファイルをMSHFlexGridに表示する       (SNo.069)
使用コントロール Button1  AxMSHFlexGrid1
その他条件 WindowsXP(Vista) Visual Basic 2005(VB2008)
ツールボックスを右クリックして、アイテムの追加と削除より、COMコンポーネント内のMicrosoft Hierarchical FlexGrid Control 6.0(SP4)(OLEDB) にチェックを入れて下さい。(VB6.0 が別途必要です) 
プロジェクト→参照の追加→COM→Microsoft ActiveX Data Objects *.* Library を参照して下さい 
★ ADOを使ってExcel 用ファイルをMSHFlexGridに表示する
Private Sub Button1_Click(ByVal sender As System.Object, _
                         
ByVal e As System.EventArgs) Handles Button1.Click
'ADOを使ってExcel用ファイルをMSHFlexGridに表示する
   
Dim CN As New ADODB.Connection
   
Dim RS As New ADODB.Recordset
   
Dim FileName, SheetNeme As String
   
Dim strSQL As String
    AxMSHFlexGrid1.Clear() : System.Windows.Forms.Application.DoEvents()
    AxMSHFlexGrid1.FixedCols = 0
    AxMSHFlexGrid1.FixedRows = 0 
'なぜ必要かコメントアウトして見てネ
    'データファイルの読込み処理
    FileName = "..\..\Test01.xls" 
'データファイルのフルパス

    SheetNeme = "Sheet1" 
'Excelファイルのシート名

    'データベースに接続するための情報を設定する
    CN.Provider = "Microsoft.Jet.OLEDB.4.0"
    CN.Properties("Extended Properties").Value = "Excel 8.0;HDR=NO;IMEX=1"
    CN.Open(FileName) 
'Connection をオープン

    'Recordsetオブジェクトのオープン
    strSQL = "Select * From [" & SheetNeme & "$]"
    RS.Open(strSQL, CN, ADODB.CursorTypeEnum.adOpenDynamic, _
            ADODB.LockTypeEnum.adLockOptimistic, ADODB.CommandTypeEnum.adCmdText)

    AxMSHFlexGrid1.DataSource = RS 
'MSHFlexGridにデータを代入

    '接続終了処理
    RS.Close() 
'Recordset・Connection を閉じる
    CN.Close()
    System.Runtime.InteropServices.Marshal.ReleaseComObject(RS)
    RS = 
Nothing '参照を解放。
    System.Runtime.InteropServices.Marshal.ReleaseComObject(CN)
    CN = 
Nothing
    AxMSHFlexGrid1.FixedRows = 1 
'なぜ必要かコメントアウトして見てネ
End Sub

表示する *.xls ファイルはご用意下さい。ファイルのパスの設定とシート名はファイルに合せて変更して下さい。
元々は、VB6.0で使っていたものを.NET用に移植したものです。





2005/07/13
2005/09/29


VBレスキュー(花ちゃん)
VB.NET2003  VB2005