Sub sousin() Dim Bdata() As Byte 'バイト配列の定義 Dim fdata() As Byte Dim fdata1() As Byte 'バイト配列の定義 Dim OldBytes As Long ' 前回受信バイト数 Dim NewBytes As Long ' 今回受信バイト数 ec.COMn = 5 'COM5を開く ec.Setting = "19200,n,8,1" '通信条件を設定 ec.OutBuffer = 128& * 1024& '送信バッファサイズの設定 ec.InBuffer = 150& * 1024& '受信バッファ確保 ReDim Bdata(255) Open ThisWorkbook.Path & "\font00.dat" For Binary Access Read As #1 fs = LOF(1) - 1 ReDim fdata(fs) 'データ配列は0から始まるのでファイルサイズ - 1 Get #1, , fdata() '一括読み込み Close #1 'ファイルをクローズ 'GoTo LL i = 0 Do While i < fs For j = 0 To 255 Bdata(j) = fdata(i) i = i + 1 Next ec.Binary = Bdata() 'バイナリデータの送信 ec.WAITmS = 500 '500ms待ちます Loop LL: Do While ec.InBuffer = 0 DoEvents '他の処理に渡します Loop '受信完了待ち OldBytes = ec.InBuffer '現在の受信データバイト数を取得 Do ec.WAITmS = 200 '0.2秒待ちます NewBytes = ec.InBuffer '受信データ数の取得 If OldBytes = NewBytes Then Exit Do '前回受信データ数と同じならば抜けます OldBytes = NewBytes '前回受信数の更新 Loop fdata1() = ec.Binary '受信データの取得 ec.COMn = 0 'ポートを閉じる Open ThisWorkbook.Path & "\font01.dat" For Binary Access Write As #1 Put #1, , fdata1 Close #1 'GoTo le For i = 0 To fs If fdata(i) <> fdata1(i) Then k$ = "一致しませんでした。": GoTo le Next k$ = "一致しました。" le: MsgBox k$ End Sub