1. 程式人生 > >將Grid存為文字文件

將Grid存為文字文件

'儲存表格資料
'函式:SaveFile
'引數:MsgObj Mshfelxgrid控制元件名,FileName 載入的檔名
'返回值:=True 成功.=True 失敗.
Public Function SaveFile(MsgObj As Control, FileName As String) As Boolean
'/儲存檔案
    Dim FileID As Long, ConTents As String
    Dim A As Long, B As Long
    Dim RowMax As Long, ColMax As Long
    Dim FixRows As Long, FixCols As Long
    Dim OleRow As Long, OleCol As Long
    Dim SFmtStr As String
    Dim strColWidth As String
   
    On Error Resume Next
   
    With MsgObj
        .Redraw = False
        FixRows = .FixedRows: FixCols = .FixedCols
        RowMax = .Rows - 1: ColMax = .Cols - 1
        .FixedRows = 0: .FixedCols = 0
        FileID = FreeFile
        Open FileName For Output As #FileID
             ConTents = RowMax + 1 & "|" & ColMax + 1 & "|" & FixRows & "|" & FixCols & "|"
             Print #FileID, ConTents  '儲存總的行數和列數.
             For A = 0 To .ColMax
                 strColWidth = strColWidth & .ColWidth(A) & "|"
             Next
             Print #FileID, Left$(strColWidth, Len(strColWidth) - 1) '儲存各列的寬度.
            
             For A = 0 To RowMax
                 .Row = A: .Col = 0
                 .RowSel = A: .ColSel = ColMax
                 ConTents = .Clip
                 Print #FileID, ConTents
             Next A
        Close #FileID
        .FixedRows = FixRows: .FixedCols = FixCols
        .Redraw = True
    End With
    SaveFile = (Err.Number = 0)
    Err.Clear
End Function