如何將串口接收到的數據保存到EXCEL文檔 
 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口號與波特率的設置。