VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/04/16(Wed) 02:55
投稿者花ちゃん
Eメール
URL
タイトルRe^5: RichTextBox使用のファイル比較

一度下記を試して見て下さい。

Option Explicit    
'参照設定でMicrosoft DAO 3.6 Object Library にチェックを
'入れておいて下さい。
Private Sub Command1_Click()
    Screen.MousePointer = vbHourglass
    DoEvents
    
    MSFlexGrid1.Visible = False
    MSFlexGrid1.Clear
    MSFlexGrid2.Visible = False
    MSFlexGrid2.Clear
    Dim DB          As Database
    Dim RS          As Recordset
    Dim TxtFileName As String
    Dim DataPath    As String
    Dim strConnect  As String
'============== 元ファイルの読込み表示 =======================
    'データの入っているパス
    DataPath = App.Path
    'テキストファイル名
    TxtFileName = "test.CSV"
    '接続文字列を設定
    strConnect = "Text;DATABASE=" & DataPath & ";HDR=NO"
    'ファイルをオープン
    Set DB = OpenDatabase(DataPath, False, False, strConnect)
    'テーブルの内容を格納
    Set RS = DB.OpenRecordset(TxtFileName, dbOpenTable)
    Set Data1.Recordset = RS
    Data1.Refresh
    
    RS.Close
    DB.Close
    Set RS = Nothing
    Set DB = Nothing
'============== 比較用ファイルの読込み表示 =======================
    'テキストファイル名
    TxtFileName = "test1.CSV"
    '接続文字列を設定
    strConnect = "Text;DATABASE=" & DataPath & ";HDR=NO"
    'ファイルをオープン
    Set DB = OpenDatabase(DataPath, False, False, strConnect)
    'テーブルの内容を格納
    Set RS = DB.OpenRecordset(TxtFileName, dbOpenTable)
    Set Data2.Recordset = RS
    Data2.Refresh

    RS.Close
    DB.Close
    Set RS = Nothing
    Set DB = Nothing
    MSFlexGrid1.Visible = True
    MSFlexGrid2.Visible = True
    Screen.MousePointer = vbDefault
End Sub

Private Sub Command2_Click()
'完全一致検索
    Screen.MousePointer = vbHourglass
    DoEvents
    Dim Ro     As Long
    Dim Co     As Long
    MSFlexGrid1.Visible = False
    MSFlexGrid2.Visible = False
    With MSFlexGrid1
        For Ro = .FixedRows To .Rows - 1
            For Co = .FixedCols To .Cols - 1
                If MSFlexGrid2.TextMatrix(Ro, Co) <> .TextMatrix(Ro, Co) Then
                    With MSFlexGrid2
                        .Col = Co
                        .Row = Ro
                        .CellBackColor = vbRed
                    End With
                End If
            Next Co
        Next Ro
    End With
    MSFlexGrid1.Visible = True
    MSFlexGrid2.Visible = True
    Screen.MousePointer = vbDefault
End Sub

Private Sub Command3_Click()
'表示色を解除
    With MSFlexGrid2
        .FillStyle = flexFillRepeat
        .Col = 0
        .Row = 0
        .RowSel = .Rows - 1
        .ColSel = .Cols - 1
        .CellBackColor = vbWhite
        DoEvents
        .FillStyle = flexFillSingle
        .Col = 1
    End With
End Sub

Private Sub Form_Load()
'下記はプロパティで設定して下さい。
    With MSFlexGrid1
        .FixedCols = 0
        .FixedRows = 0
    End With
    With MSFlexGrid2
        .FixedCols = 0
        .FixedRows = 0
    End With
    '別途プロパティで設定して下さい
    'MSFlexGrid1.DataSource = Data1
    'MSFlexGrid2.DataSource = Data2
    Data1.Visible = False
    Data2.Visible = False
End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -