📄 howtovboutputdatacontinue.txt
字号:
vb 如何连续输出数据
问题如下:
用串口连续接收数据,然后写到文件中,为何每次只写进去一个,而不是一整串得。
程序如下: '接收事件
Private Sub MSComm1_OnComm()
'*************接收数据***********************
'通讯事件发生
Dim indata(1) As Single
Dim bytInput() As Byte
Dim intInputLen As Integer
Dim i As Integer
Select Case MSComm1.CommEvent
Case comEvReceive '...有接受事件发生
'此处添加处理接收的代码
MSComm1.InputMode = comInputModeBinary '二进制接收
intInputLen = MSComm1.InBufferCount
ReDim bytInput(intInputLen)
bytInput = MSComm1.Input
For i = 0 To UBound(bytInput)
If COM_Flag = False Then '如果当前没有正在处理的通信,则可进行命令的接收
Receive_Data(DataCount) = bytInput(i) '//存放命令字节
If Receive_Data(DataCount) <> 0 Then '表示为 收状态 长命令且还没有收完
DataCount = DataCount + 1
Else
DataCount = 0 '计数复位
COM_Flag = True '命令接收完成
End If
End If
Next
End Select
'******************处理数据***********************
If COM_Flag = True Then '收到命令
indata(0) = 1000000 / ((Receive_Data(0) + Receive_Data(1) * 256) * 3.2)
indata(1) = ((Receive_Data(2) + Receive_Data(3) * 256) * 4.78) / 1024
Open "config.txt" For Append As #1
Print #1, indata(0) & " " & indata(1)
Close #1
Unload Me
End If
MSComm1.InBufferCount = 0
MSComm1.OutBufferCount = 0
End Sub
输出语句改一下:
Print #1, indata(0) & " " & indata(1) & " ";
Private Sub 生成报表_Click()
Dim ex As Object
Dim exwbook As Object
Dim exsheet As Object
Set ex = CreateObject("Excel.Application")
Set exwbook = Nothing
Set exsheet = Nothing
Set exwbook = ex.Workbooks().Add
Set exsheet = exwbook.Worksheets("sheet1")
With ex .Range("A1").Select .Application.Run "'App.Path & \CTD RISK.xls'!Macro2"
End With '保存输入到3.xls exwbook.SaveAs "c:\3.xls" '退出
excel ex.Quit MsgBox "已经保存到c:\3.xls"
End Sub
但是运行起来有问题
问题在"'App.Path & \CTD RISK.xls'!Macro2"
试试
.Application.Run "App.path &'\CTD RISK.xls'!Macro2"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -