tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
MSFlexGridでLine Input #を使ってのCSVファイルの読込_4(VB6.0) ( No.4 )  [親スレッドへ]
日時: 2011/03/28 15:20
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[ファイル入出力][グリッド関係][]                                   *
* キーワード:CSV,MSHFlexgrid,,,,                                                 *
***********************************************************************************

-----------------------------------------------------------------------------------
Line Input # ステートメントを使ってのCSVファイルの読込表示 - 花ちゃん 2007/09/14
-----------------------------------------------------------------------------------
データに合せて固定列・固定行等の設定は変更して下さい。
あくまでも、CSV ファイルの表示例のサンプルなので、表示速度等に拘るなら他の方法を
使って下さい。

Private Sub Form_Load()
'-------------------------------------------------
   'コントロール類の初期設定
   Form1.Move 0, 0, 9000, 4000
   With MSFlexGrid1
      .Move 45, 45, 5500, 3400
      .FixedRows = 1
      .FixedCols = 0
      .Rows = 1
      .Cols = 0
      .AllowUserResizing = flexResizeBoth
      .RowHeightMin = 300
   End With
  
'-------------------------------------------------
   'CSV ファイルを読み込み MSFlexGrid に表示
   Dim intFileNo  As Integer   'ファイルNo
   Dim TextLine   As String
   Dim CellsData  As Variant
   Dim lngCount   As Long
   Dim i          As Long
   intFileNo = FreeFile
   'シーケンシャル入力モードで Test.csv をオープン
   'ファイルのPATHは別途設定して下さい。
   Open "Test.csv" For Input As #intFileNo
   Do Until EOF(intFileNo)             'EOF(intFileNo)が True になるまで実行
      Line Input #intFileNo, TextLine  '1行全体を変数に読み込む
      TextLine = Replace(TextLine, Chr$(34), "")   ' "" を取り除く
      CellsData = Split(TextLine, ",") 'カンマ区切りで列データを分割
      If MSFlexGrid1.Cols < UBound(CellsData) + 1 Then
         'データの列数に合せて、MSFlexGrid の列数を設定
         MSFlexGrid1.Cols = UBound(CellsData) + 1
      End If
      lngCount = lngCount + 1       '行数をカウント
      MSFlexGrid1.Rows = lngCount   '行数を追加
      For i = LBound(CellsData) To UBound(CellsData)
         'MSFlexGrid のセルにデータを書込み
         MSFlexGrid1.TextMatrix(lngCount - 1, i) = CellsData(i)
      Next i
   Loop
   Close #intFileNo
End Sub



 [スレッド一覧へ] [親スレッドへ]