● フレキシブルグリッドのデータをCSVファイルに保存する ●

  フレキシブルグリッドコントロールを使用するのなら、付けておいてもよろしいんじゃぁないかな。
  ' -------------------------------------------------------------------
  ' 関数名 : ConvertToCSV
  ' 機能 : グリッドのデータをCSVファイルに保存する
  ' 引数 : (in) srcFlexGridControl … フレキシブルグリッドコントロール
  '            (in) CSVFileName … CSVファイルのフルパス
  '            (in) MaxRow … フレキシブルグリッドの最大行数
  '            (in) MaxCol … フレキシブルグリッドの最大列数
  '            (in) StartPosOfRow … 行の書き込み位置
  '            (in) StartPosOfCol … 列の書き込み位置
  ' 返り値 : なし
  ' -------------------------------------------------------------------
  Public Sub ConvertToCSV(ByVal srcFlexGridControl As MSFlexGrid, _
                            ByVal CSVFileName As String, _
                            ByVal MaxRow As Integer, _
                            ByVal MaxCol As Integer, _
                            Optional ByValStartPosOfRow As Integer = 0, _
                            Optional ByVal StartPosOfCol As Integer = 0)

      Dim i As Integer, j As Integer
      Dim FileNum As Integer

      On Error GoTo ErrHandler

      'ファイルナンバー取得
      FileNum = FreeFile

      Open CSVFileName For Output As FreeFile

      With srcFlexGridControl

            '高速化を図るため不可視にする
            .Visible = False

            '行
            For j = StartPosOfRow To MaxRow - 1
                  .Row = j

                  '列
                  For i = StartPosOfCol To MaxCol - 1
                        .Col = i

                        '最後のカラムには改行コード、それ意外はカンマをつける
                        If i = MaxCol - 1 Then
                              '改行を入れて保存
                              Print #FileNum, Chr$(34) & .Text & Chr$(34)
                        Else
                              '改行を入れないで保存
                              Print #FileNum, Chr$(34) & .Text & Chr$(34) & Chr$(44);
                        End If

                  Next i
            Next j

            'グリッドを可視にする
            .Visible = True
      End With

      'ファイルはきちんと閉じなきゃね!!
      Close FileNum

  ConvertToCSV_Exit:
      Exit Sub

  ErrHandler:
      'グリッドを可視にする
      srcFlexGridControl.Visible = True

      Call MsgBox("エラーNo." & Err.Number & vbCrLf & vbCrLf & _
                  Err.Description, vbExclamation, "CSVファイル保存 - エラー")

  End Sub
  


戻る