技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 程序有几处不懂,请帮忙注释一下

程序有几处不懂,请帮忙注释一下

刘玉蓉 发布于2014-09-09 17:32 99 0 标签:

‘先定义变量
Dim objExcelApp,objExcelBook,objExcelSheet 
Dim tagyali1,tagyali2,tagyali3,tagyali4 
Dim tagliuliang1,tagliuliang2
Dim tago2 
Dim tagshijian,sheetname 
Dim i,j 
Dim msg 

‘声明
Set tagyali1=HMIRuntime.Tags("MicroWin.fuyang.v.p1") 
Set tagyali2=HMIRuntime.Tags("MicroWin.fuyang.v.p2") 
Set tagyali3=HMIRuntime.Tags("MicroWin.fuyang.v.p3") 
Set tagyali4=HMIRuntime.Tags("MicroWin.fuyang.v.p4") 
Set tagliuliang1=HMIRuntime.Tags("MicroWin.fuyang.v.l1") 
Set tagliuliang2=HMIRuntime.Tags("MicroWin.fuyang.v.lt2") 
Set tago2=HMIRuntime.Tags("MicroWin.fuyang.v.o2")
msg="ok" 
sheetname="sheet1" 

‘判断是否打开了模版,如果打开先关闭保存
On Error Resume Next 
Dim ExcelApp,ExcelBook 
Set ExcelApp=GetObject(,"Excel.Application") 
If TypeName(ExcelApp)="Application" Then 
For Each ExcelBook In ExcelApp.WorkBooks 
If ExcelBook.FullName="E:iao.xls" Then 
ExcelApp.ActiveWorkbook.Save 
ExcelApp.Workbooks.Close 
ExcelApp.Quit 
Set ExcelApp=Nothing
Exit For 
End If 
Next 
End If 

‘创建对象
Set objExcelApp=CreateObject("Excel.Application") 
open file 
objExcelApp.Visible=True 
objExcelApp.Workbooks.Open"E:iao.xls" 
objExcelApp.Worksheets(sheetname).Activate 

‘清除模版数据
With objExcelApp.Worksheets(sheetname) 
For i=5 To 25 
For j=1 To 8 
.cells(i,j)=Null 
Next 
Next 
For i=26 To 26 
For j=1 To 7 
.cells(i,j)=Null 
Next 
Next 
End With 

‘实时数据写入
tagshijian=Now 
objExcelApp.Worksheets(sheetname).cells(2,2).value=tagshijian 
For i=5 To 25 
with objExcelApp.Worksheets(sheetname) 
.cell(i,1).value=tagshijian 
tagyali1.Read 
.cell(i,2).value=tagyali1.value
tagyali2.Read 
.cell(i,3).value=tagyali2.value 
tagyali3.Read 
.cell(i,4).value=tagyali3.value 
tagyali4.Read 
.cell(i,5).value=tagyali4.value 
tagliuliang1.Read 
.cell(i,6).value=tagliuliang1.value 
tagliuliang2.Read 
.cell(i,7).value=tagliuliang2.value 
tago2.Read 
.cell(i,8).value=tago2.value 
End With 
Next 
MsgBox msg 
‘关闭保存
Dim patch,filename 
filename=CStr(Month(Now))&CStr(Day(Now))+CStr(Hour(Now))&CStr(Minute(Now)) 
patch="E:"&filename&".xls" 
objExcelApp.ActiveWorkbook.SaveAs patch 
objExcelApp.Workbooks.Close 
objExcelApp.Quit 
Set objExcelApp=Nothing
请问:
objExcelApp.Worksheets(sheetname).Activate 这一行语句有什么用?前边一行语句不是已经打开表格了吗?这这一行语句不要行不行?

佳答案

Excel打开之后其实是一个工作薄(Workbook),里面有三个表。
一般只用一张表就够了,而且默认的活动表就是表1(sheet1)。
objExcelApp.Worksheets(sheetname).Activate就是把表一置为活动表格,数据就写在这里。
如果你只用这一张表,此工作薄的另两张不用,那么加不加这句都行,打开excel直接就是张表示活动的。
如果其中有切换,要向第二张地三张写数,那就要重新赋值sheetname了。

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签