代碼:
Public Function writeData(DataX() As Integer, DataY() As Integer, FileName As String, dataIndex As Integer)
Application.DisplayAlerts = False
Dim i As Long
Dim RecordNumber As Long
Dim nowindex As Integer
nowindex = dataIndex - (W / 10 + 1)
If FileName = "" Then
Exit Function
End If
Set xlApp = CreateObject("Excel.application")
Set xlBook = xlApp.Workbooks().Open(FileName)
Set xlSheet = xlBook.Worksheets(1)
xlSheet.Activate
For i = 1 To ((W / 10 + 1) + 1)
xlSheet.Cells(nowindex + 1, 1) = DataX(i - 1)
xlSheet.Cells(nowindex + 1, 2) = DataY(i - 1)
nowindex = nowindex + 1
Next i
xlSheet.Cells(1, 1) = "x"
xlSheet.Cells(1, 2) = "y"
xlSheet.Cells(1, 3) = dataIndex
xlBook.SaveAs FileName
xlBook.RunAutoMacros (xlAutoActivate)
xlBook.Close (True)
xlApp.Quit
Set xlApp = Nothing
End Function
呼叫代碼:
If (dataIndex Mod (W / 10 + 1) = 0) Then
FileName = App.Path & "\data1.xls"
Call writeData(DataX(), DataY(), FileName, dataIndex)
End If

uj5u.com熱心網友回復:
兩選一If FileName = "" Then
Exit Function
End If
If Dir(FileName) <> "" Then
Kill FileName
End If
xlBook.SaveAs FileName, , , , , , , 2 'XlSaveConflictResolution.xlLocalSessionChanges
uj5u.com熱心網友回復:
不行啊,兩種方法都試了,還是不行呢uj5u.com熱心網友回復:
加個斷點,Kill執行了沒?執行后目錄下data1.xls還存在?為什么標題是“WPS表格”?如果不是 Excel,不知道!
uj5u.com熱心網友回復:
執行了,但會報錯
剛剛默認的是wps,現在換成是excel,但問題是一樣的

哎,弄了好久了,還是弄不出來,需要你的幫助,萬分感謝!
uj5u.com熱心網友回復:
既然有錯,沒成功不很正常。拒絕的權限:最大的可能是這個 xls 已經被其它程式(Excle/WPS)打開了,正在使用。
把任務管理器中所有的 Excle/WPS 行程全殺掉。
或者試試 unlocker 工具,解除加鎖。
uj5u.com熱心網友回復:
kill執行了,但是我是想在目錄下,把實時的資料匯入excel,現在是每51個資料就會彈出這個對話框,我想自動的匯入,而不要出現這個對話框。kill執行之后,就會把data1洗掉,找不到路徑了:
uj5u.com熱心網友回復:
同一批資料就不要開開關關的,一直開著不好嗎?全部寫完了再關閉。
uj5u.com熱心網友回復:
那應該怎么改?主要是對vb不太熟悉,因為要做畢設才剛剛學了一點……uj5u.com熱心網友回復:

沒基礎,只好花錢請人了做/教了。
uj5u.com熱心網友回復:
喔,好的,謝謝你了!轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/95321.html
標籤:VB基礎類
