请问如何将msgflexgrid表中选定的某一区域(多列)的数据按列添入数组中?

解决方案 »

  1.   

    Dim beginRow, endRow, beginCol, endCol As Long
    Dim arrayData() As Variant
    Private Sub Form_Load()
      With MSFlexGrid1
        .FixedCols = 0
        .FixedRows = 0
        .Cols = 10
        .Rows = 10
        For i = 0 To .Rows - 1
          For j = 0 To .Cols - 1
            .TextMatrix(i, j) = i * j
          Next
        Next
      End With
    End SubPrivate Sub mnuSave_Click()
      ReDim arrayData((endRow + 1) * (endCol + 1)) As Variant
      base = 1
      For i = beginCol To endCol
        For j = beginRow To endRow
          arrayData(base) = MSFlexGrid1.TextMatrix(i, j)
          base = base + 1
        Next
      Next
    End SubPrivate Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
      If Button = 2 Then
         With MSFlexGrid1
           If .Row < .RowSel Then
              beginRow = .Row
              endRow = .RowSel
           Else
              beginRow = .RowSel
              endRow = .Row
           End If
           If .Col < .ColSel Then
              beginCol = .Col
              endCol = .ColSel
           Else
              beginCol = .ColSel
              endCol = .Col
           End If
         End With
         PopupMenu mnuMenu
      End If
    End Sub