首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB写EXCEL,该怎么解决

2012-03-23 
VB写EXCEL小弟是个菜鸟,编写VB程序遇到一个问题,还请各位支个招!具体功能是:每当串口接收一个数据后,电脑

VB写EXCEL
小弟是个菜鸟,编写VB程序遇到一个问题,还请各位支个招!
具体功能是:每当串口接收一个数据后,电脑自动想把数据写到D:\TEST.XLS中.

但是我的程序运行后,每次只能保存最后的数据,以前的数据丢失。

譬如:第一次,我接收到一个“100”,数据被写到(1,1)单元。

  第二次,我接收到一个“010”,数据被写到(1,2)单元。
  
  问题出现了。我打开TEST.XLS,结果并不是(1,1)=“100” (1,2)=“010“ ,而是只有(1,2)=“010“。

我想问的是:如何连续把串口传送来的数据 陆续写进EXCEL中,所有的数据都能保存。
   

我写的代码如下:
Option Explicit
Dim xlapp As Excel.Application
Dim xlbook As Excel.Workbook
Dim xlsheet As Excel.Worksheet
Dim test As Variant
Dim filename As String
Dim i, j As Integer
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeBinary
MSComm1.PortOpen = True
filename = Date
i = 0
j = 0

End Sub

Private Sub MSComm1_OnComm()

i = i + 1
j = j + 1

Set xlapp = CreateObject("Excel.Application")

Set xlbook = xlapp.Workbooks.open("d:\test.xls")

Set xlsheet = xlbook.Worksheets(1)

xlsheet.Cells(i, j + 0) = "100"

xlapp.Visible = false

xlbook.SaveAs ("d:\test.xls")
xlbook.Close False
xlapp.Quit

End Sub

[解决办法]
程序貌似没什么问题 不能存的原因不知道是不是和你那个,I和J给复位了 另外 xlbook.SaveAs ("d:\test.xls") 可以改成xlbook.Save 这样应该不会有覆盖提示

热点排行