ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 830|回复: 0

[求助] 读取串口内容并判断是否重复

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-7-8 17:01 | 显示全部楼层 |阅读模式
各位大神,我VBA小白,参考网上资料,做了一个从串口读取内容,记录下时间和内容的代码,但是还需要每读取一次内容和之前的比较是否有重复,重复则提示内容重复,否则才记录下来,不知怎么做,请大家帮忙,谢谢!
代码如下:
Private Sub CommandButton1_Click()
MkDir ThisWorkbook.Path & "\" & Format(Now(), "yyyymmddhhmm")
ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & Format(Now(), "yyyymmddhhmm") & "\" & Format(Now(), "yyyymmddhhmm") & ".xls"
Application.Quit
End Sub

Private Sub Label1_Click()

End Sub

Private Sub Label2_Click()

End Sub

Private Sub MSComm1_OnComm()
Dim t1 As Long, com_String As String
Static i As Integer
t1 = Timer

Select Case MSComm1.CommEvent
  Case comEvReceive
       MSComm1.RThreshold = 0
  Do
    DoEvents
  Loop While Timer - t1 < 0.05
  com_String = MSComm1.Input
  MSComm1.RThreshold = 1
  i = i + 1: If i > 10 Then i = 1
  Application.Cells(i + 1, "B").Value = com_String
  Cells(i + 1, "A") = Format(Now(), "yyyy-mm-dd,hh:mm:ss")
  Me.Label3.Caption = i
  If i = 10 Then
  MkDir ThisWorkbook.Path & "\" & Format(Now(), "yyyymmddhhmm")
  ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & Format(Now(), "yyyymmddhhmm") & "\" & Format(Now(), "yyyymmddhhmm") & ".xls"
  Range("a2:a30").Clear
  Range("b2:b30").Clear
  End If
  End Select

End Sub
Private Sub iniMscomm()
'On Error Resume Next
MSComm1.CommPort = 15
MSComm1.Settings = "38400,N,8,1"
MSComm1.PortOpen = True
MSComm1.RThreshold = 1
MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeText
MSComm1.RTSEnable = True
MSComm1.InBufferCount = 0
End Sub
Private Sub UserForm_initialize()
iniMscomm
  ActiveSheet.Cells.Clear
  Cells(1, "A") = Format("时间")
  Cells(1, "B") = Format("记录")
  Me.Label1.Caption = ("请开始扫描!")
  Me.Label1.FontSize = 50
  Me.Label2.Caption = ("记录数量:")
  Me.Label2.FontSize = 20
  Me.Label3.Caption = ("0")
  Me.Label3.FontSize = 20
  Me.Label3.ForeColor = &HC000&
  Me.CommandButton1.Caption = ("退出保存")
  Me.CommandButton1.FontSize = 20
End Sub


您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-6 14:50 , Processed in 0.016043 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表