報(bào)表程序的問題
劉玉蓉
發(fā)布于2014-08-25 17:45
22
0
標(biāo)簽:
現(xiàn)在制作報(bào)表,遇到個(gè)問題,請(qǐng)講解一下,程序如下:
Dim objExcelAPP
Set objExcelAPP = CreateObject("Excel.Application") ...(這該用GETOBJECT,還是用CREATEOBJECE函數(shù)呢)
objExcelAPP.Visible = 1
If TypeName(objExcelAPP)="Application" Then
For Each xlbook In objExcelAPP.Workbooks
If xlbook.FullName=xlsname Then
isOpen=True
Exit For
End If
Next
Else
End If
If isOpen=True Then
objExcelAPP.Cells(13,4).Value = HMIRuntime.Tags("NewTag").read
Dim NewTag_1
Set NewTag_1 = HMIRuntime.Tags("NewTag_1")
NewTag_1.value= Time
NewTag_1.Write
objExcelAPP.Cells(13,5).Value =HMIRuntime.Tags("NewTag_1").read
Else
End If
為什么在全局報(bào)表中不能傳輸數(shù)據(jù)呢,問題處在哪,請(qǐng)講解一下,程序就是想獲得現(xiàn)在運(yùn)行的EXCEL報(bào)表進(jìn)程,然后將數(shù)據(jù)寫入,如果不這樣,能直接寫入嗎?
問題補(bǔ)充:
為什么下面程序就行呢
Dim objExcelAPP
Set objExcelAPP = CreateObject("Excel.Application") ""??è?μ±?°??DDμ?Exceló|ó?3ìDò???ó
objExcelAPP.Visible = 1
objExcelApp.Workbooks.Open "D:shengchanjilu/R2012/R2012-baobiao.xls"
If 1>0 Then
objExcelAPP.Cells(13,4).Value = HMIRuntime.Tags("NewTag").read
Dim NewTag_1
Set NewTag_1 = HMIRuntime.Tags("NewTag_1")
NewTag_1.value= Time
NewTag_1.Write
objExcelAPP.Cells(13,5).Value =HMIRuntime.Tags("NewTag_1").read
Else
End If
希望能講解一下
佳答案
上面的代碼不知道是不是完整的,文檔名都沒指定,在你的代碼基礎(chǔ)上修改了下,參考一下
On Error Resume Next ""此句必須有,防止無EXCEL進(jìn)程時(shí)GetObject出錯(cuò)退出
Dim objExcelAPP,xlbook,xlsname,isOpen
xlsname = "D:shengchanjilu/R2012/R2012-baobiao.xls" ""Excel文檔路徑
Set objExcelAPP = GetObject(,"Excel.Application") ""獲取當(dāng)前運(yùn)行的Excel應(yīng)用程序?qū)ο?br />objExcelAPP.Visible = 1 ""Excel應(yīng)用程序顯示屬性
If TypeName(objExcelAPP) = "Application" Then ""Excel已打開,遍歷工作薄查找對(duì)應(yīng)文檔是否已打開
For Each xlbook In objExcelAPP.Workbooks
If xlbook.FullName = xlsname Then
isOpen = True
Exit For
End If
Next
Else ""當(dāng)前沒有打開Excel程序則創(chuàng)建Excel應(yīng)用程序并打開對(duì)應(yīng)的文檔
Set objExcelAPP = CreateObject("Excel.Application")
End If
If Not isOpen Then ""如果對(duì)應(yīng)文檔沒打開則打開
Set xlbook = xlapp.Workbooks.Open(xlsname)
End if
objExcelAPP.Cells(13,4).Value = HMIRuntime.Tags("NewTag").read
Dim NewTag_1
Set NewTag_1 = HMIRuntime.Tags("NewTag_1")
NewTag_1.value = Time
NewTag_1.Write
objExcelAPP.Cells(13,5).Value = HMIRuntime.Tags("NewTag_1").read