将串口接收到的数据保存到excel文档

将串口接收到的数据保存到excel文档

ID:9879680

大小:136.50 KB

页数:10页

时间:2018-05-13

将串口接收到的数据保存到excel文档_第1页
将串口接收到的数据保存到excel文档_第2页
将串口接收到的数据保存到excel文档_第3页
将串口接收到的数据保存到excel文档_第4页
将串口接收到的数据保存到excel文档_第5页
资源描述:

《将串口接收到的数据保存到excel文档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《一》用VBDDE通讯!《二》1.启动excel从:工具-->宏-->VisualBasic编辑器,打开excelVBA.2.在ThisWorkbook上右单击鼠标选择插入--用户窗体3.单击一下插入的窗体,单击菜单上的--工具--附加控件--选择MicrosoftCommunicationsControl,version6.04.在窗体上添加mscomm1,添加commandButton15.单串口机子,短接rs232的2脚和3脚,双串口机子用232线连接两个串口,注意2、3线交叉,我这里以单串口短接举例。6.复制以下

2、代码到你的窗体里:VBcode'VBA代码PrivateSubCommandButton1_Click()  MSComm1.Output="BEG1END"EndSubPrivateSubMSComm1_OnComm()  Dimt1AsLong,com_StringAsString  StaticiAsInteger  t1=Timer    SelectCaseMSComm1.CommEvent    CasecomEvReceive'收到RThreshold定义的字符数1字节        MSComm1.RTh

3、reshold=0      Do        DoEvents      LoopWhileTimer-t1<0.1'延时时间自己调整      com_String=MSComm1.Input      MSComm1.RThreshold=1      i=i+1:Ifi>255Theni=1      Application.Cells(3,i).Value=com_String    EndSelect    'ActiveWorkbook.SaveAsFilename:="C:d1.xls"EndSubP

4、rivateSubiniMscomm()  'OnErrorResumeNext'=====-----初始化通信串口-----=====  MSComm1.CommPort=1              '使用COM1  MSComm1.Settings="9600,N,8,1"      '9600波特,无奇偶校验,8位数据,一个停止位  MSComm1.PortOpen=True            '打开端口    MSComm1.RThreshold=1            '缓冲区有1个字节就产生OnCom

5、m事件  MSComm1.InputLen=0              '为0时,使用Input将使MSComm控件读取接收缓冲区中全部的内容。    MSComm1.InputMode=comInputModeText  'Input以二进制形式取回用comInputModeBinary,以文本形式取回是(缺省项)  MSComm1.RTSEnable=True  MSComm1.InBufferCount=0          '清空缓冲区  EndSubPrivateSubUserForm_Initialize(

6、)  iniMscommEndSub7.双击thisWorkBook,复制以下代码到窗体里:VBcode'VBA代码PrivateSubWorkbook_Open()  UserForm1.Show0  'UserForm1.HideEndSub8.保存文件并关闭excel,然后再打开你的文件,然后单击你窗体上的按钮看看。9.这个程序是我为你特意做的,已经做过测试,sys2003office2003。10.如果excel中有数据输入,再去测试你的设置,注意com口号与波特率的设置。《三》markexcel串口还有一个办法

7、就是用任何编程,只需将收到的数据用csv文件的格式,生成一个文本文件,然后就可以用excel打开了。这个方法适合于任何语言,只要能生成文本文件就可以了。如果存成txt再打包可以的话,Perl简单些,不熟悉的人3天也能做出来.Spreadsheet::WriteExcel和Spreadsheet::ParseExcel《四》ExcelVBA串口通信2010-01-2716:411466人阅读评论(0)收藏举报用c#也可以实现这种功能,那就是用serialPort控件,这里用VBA写的,用MSComm控件实现。其实还有另外一

8、个控件叫NETComm控件,也可以做,源码中注释很清楚,不再赘述[vb:showcolumns:firstline[1]]viewplaincopyprint?·········10········20········30········40········50········60········70········

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。