RS232接收到数据进入EXCEL

 我来答
创作者3jgwrCypiu
2019-08-27 · TA获得超过3656个赞
知道大有可为答主
回答量:3050
采纳率:30%
帮助的人:411万
展开全部
1.启动excel从:工具-->宏-->Visual
Basic
编辑器,打开excel
VBA。
2.在ThisWorkbook上右单击鼠标选择插入--用户窗体

3.单击一下插入的窗体,单击菜单上的--工具--附加控件--选择Microsoft
Communications
Control,
version
6.0

4.在窗体上添加mscomm1,添加commandButton1

5.单串口机子,短接rs232的2脚和3脚,双串口机子用232线连接两个串口,注意2、3线交叉,这里以单串口短接举例。
6.复制以下代码到窗体里:
VB
code
'VBA代码
Private
Sub
CommandButton1_Click()
MSComm1.Output
=
"BEG1END"
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
'收到
RThreshold定义的字符数1字节
MSComm1.RThreshold
=
0
Do
DoEvents
Loop
While
Timer
-
t1
<
0.1
'延时时间调整
com_String
=
MSComm1.Input
MSComm1.RThreshold
=
1
i
=
i
+
1:
If
i
>
255
Then
i
=
1
Application.Cells(3,
i).Value
=
com_String
End
Select
'ActiveWorkbook.SaveAs
Filename:="C:\d1.xls"
End
Sub
Private
Sub
iniMscomm()
'On
Error
Resume
Next
'=====-----初始化通信串口-----=====
MSComm1.CommPort
=
1
'使用
COM1
MSComm1.Settings
=
"9600,N,8,1"
'9600
波特,无奇偶校验,8
位数据,一个停止位
MSComm1.PortOpen
=
True
'打开端口
MSComm1.RThreshold
=
1
'缓冲区有1个字节就产生OnComm事件
MSComm1.InputLen
=
0
'为
0
时,使用
Input
将使
MSComm
控件读取接收缓冲区中全部的内容。
MSComm1.InputMode
=
comInputModeText
'Input以二进制形式取回用comInputModeBinary,以文本形式取回是(缺省项)
MSComm1.RTSEnable
=
True
MSComm1.InBufferCount
=
0
'清空缓冲区
End
Sub
Private
Sub
UserForm_Initialize()
iniMscomm
End
Sub
7.双击thisWorkBook,复制以下代码到窗体里:
VB
code
'VBA代码
Private
Sub
Workbook_Open()
UserForm1.Show
0
'UserForm1.Hide
End
Sub
8.保存文件并关闭excel,然后再打开你的文件,然后单击窗体上的按钮看看。
9.这个程序已经做过测试,sys2003
office2003。
10.如果excel中有数据输入,再去测试设置,注意com口号与波特率的设置。
创作者59S18fo8sT
2019-09-01 · TA获得超过3.8万个赞
知道大有可为答主
回答量:1.5万
采纳率:33%
帮助的人:966万
展开全部
简单。。
流程:接收过程----->收到一个数据
double
data;--->通过ADO将这个数据写到EXCEL里。
上面每个步骤都是最基本的,,我不知道要不要解释了,,至于ADO,你百度一下,,有很多封装的很好的类,,很基本的,一看就会用的。。
祝你好运,,不懂还可以问我,,RS232我不算专家,,也是行家了。。
jian_hua_yang@163.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式