搜索
bottom↓
回复: 36

如何将串口接收到的数据保存到EXCEL文档。

[复制链接]

出0入0汤圆

发表于 2010-11-15 14:48:09 | 显示全部楼层 |阅读模式
请高手指点,如何将串口接收到的数据保存到EXCEL文档。

出0入0汤圆

发表于 2010-11-15 15:01:34 | 显示全部楼层
搜搜 串口监控器 能自动保存数据 但不是excel格式

出0入0汤圆

发表于 2010-11-15 15:04:42 | 显示全部楼层
用VB DDE通讯!

出0入0汤圆

发表于 2011-5-15 03:16:21 | 显示全部楼层
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口号与波特率的设置。

出0入0汤圆

发表于 2011-5-15 06:00:26 | 显示全部楼层
楼上正解,用VBA

出0入0汤圆

发表于 2011-5-15 09:03:00 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-5-15 09:05:36 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-27 09:26:33 | 显示全部楼层
【3楼】 真是热心人!

出0入0汤圆

发表于 2011-8-30 12:06:35 | 显示全部楼层
好资料。。。

出0入0汤圆

发表于 2011-8-30 13:04:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-30 13:17:28 | 显示全部楼层
mark excel 串口

出0入0汤圆

发表于 2011-8-30 13:25:12 | 显示全部楼层
因有【3楼】 ggg12345这位先生贡献的文章,建议给条裤子了

出0入0汤圆

发表于 2011-9-1 00:26:16 | 显示全部楼层
还有一个办法就是用任何编程,只需将收到的数据用csv文件的格式,生成一个文本文件,然后就可以用excel打开了。
这个方法适合于任何语言,只要能生成文本文件就可以了。
希望对楼主有帮助。

出0入0汤圆

发表于 2011-11-29 15:35:09 | 显示全部楼层
大神 mark了

出0入0汤圆

发表于 2011-11-29 15:38:38 | 显示全部楼层
3楼正解

出0入0汤圆

发表于 2011-11-29 15:53:22 | 显示全部楼层
3楼说说怎么解决KB的那个补丁问题,很多人是没法用串口的那个控件的

出50入10汤圆

发表于 2011-12-9 09:54:26 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-9 10:54:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-9 11:21:00 | 显示全部楼层
3楼大侠太好了 改天我试试怎么用

出0入0汤圆

发表于 2011-12-10 10:58:17 | 显示全部楼层
12楼的最简单

出0入0汤圆

发表于 2011-12-10 12:31:21 | 显示全部楼层
mark excel 串口

出0入0汤圆

发表于 2011-12-10 12:33:54 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-12-10 23:18:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-11 00:02:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-11 00:26:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-11 00:32:12 | 显示全部楼层
不错

出0入0汤圆

发表于 2011-12-11 11:53:33 | 显示全部楼层
上位机处理的

出0入0汤圆

发表于 2011-12-11 13:58:49 | 显示全部楼层
这个得mark一下

出0入0汤圆

发表于 2011-12-11 14:09:40 | 显示全部楼层
谢谢楼主的提问,谢谢3楼大侠的解答!

出0入0汤圆

发表于 2011-12-12 21:41:55 | 显示全部楼层
good,牛人

出0入0汤圆

发表于 2011-12-13 16:50:15 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-13 17:57:24 | 显示全部楼层
如果存成txt再打包可以的话, Perl简单些,不熟悉的人3天也能做出来.


Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel

出0入0汤圆

发表于 2012-4-9 14:33:29 | 显示全部楼层
mark 串口 VBA

出0入0汤圆

发表于 2012-6-8 18:56:34 | 显示全部楼层
我很需要这个例子
谢谢
学习了

出0入0汤圆

发表于 2012-7-30 23:27:48 | 显示全部楼层
ggg12345 发表于 2011-5-15 03:16
1.启动excel从:工具-->宏-->Visual Basic 编辑器,打开excel VBA.

2.在ThisWorkbook上右单击鼠标选择插入- ...

好人啊~~~正需要,谢谢了~~~

出0入0汤圆

发表于 2012-7-31 07:28:19 | 显示全部楼层
果断收藏啊

出0入0汤圆

发表于 2013-10-18 09:43:50 | 显示全部楼层
好东西   mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 17:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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