投稿日 | : 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