excel报表不写数据,谢谢!

目的:想在每天的14:50:00清除数据(先提前打开报表,清除一下数据),然后在15:00,16:00,17:00分别往表格里写数据(触发周期为:30分钟)。当在17:00写完数据后,以当天的日期为名称另存一份。运行后并不往表格里写数据,请帮忙分析一下程序,谢谢!
Option Explicit
Function action
Dim objExcelApp,objExcelBook,objExcelSheet 


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:\temp\ee\biao.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") 
If Hour(Now)=14 And Minute(Now)=50 And Second(Now)=0 Then
 objExcelApp.Visible=True 
 objExcelApp.Workbooks.Open"E:\temp\ee\biao.xls" 
 objExcelApp.Cells(5,1).Value=Null 
 objExcelApp.Cells(5,2).Value=Null 
 objExcelApp.Cells(5,3).Value=Null 
 objExcelApp.Cells(6,1).Value=Null 
 objExcelApp.Cells(6,2).Value=Null 
 objExcelApp.Cells(6,3).Value=Null 
 objExcelApp.Cells(7,1).Value=Null 
 objExcelApp.Cells(7,2).Value=Null 
 objExcelApp.Cells(7,3).Value=Null 
 objExcelApp.Workbooks.Close 
 objExcelApp.Quit 
 Set objExcelApp=Nothing 
End If

If Hour(Now)=15 And Minute(Now)=0 And Second(Now)=0 Then
    objExcelApp.Visible=True 
    objExcelApp.Workbooks.Open"E:\temp\ee\biao.xls" 
    objExcelApp.Cells(5,1).Value = Now
    objExcelApp.Cells(5,2).Value=HMIRuntime.Tags("aa2").read
    objExcelApp.Cells(5,3).value=HMIRuntime.Tags("aa3").read 
    objExcelApp.ActiveWorkbook.Save 
    objExcelApp.Workbooks.Close 
    objExcelApp.Quit 
    Set objExcelApp=Nothing  
   ‘MsgBox "10"
  Else If Hour(Now)=16 And Minute(Now)=00 And Second(Now)=0 Then
    objExcelApp.Visible=True 
    objExcelApp.Workbooks.Open"E:\temp\ee\biao.xls"   
    objExcelApp.Cells(6,1).Value = Now 
    objExcelApp.Cells(6,2).Value=HMIRuntime.Tags("aa2").read
    objExcelApp.Cells(6,3).value=HMIRuntime.Tags("aa3").read 
    objExcelApp.ActiveWorkbook.Save 
    objExcelApp.Workbooks.Close 
    objExcelApp.Quit 
    Set objExcelApp=Nothing  

   ‘ MsgBox "11"   

   Else If Hour(Now)=17 And Minute(Now)=00 And Second(Now)=0 Then

    Dim patch,filename 
    filename=CStr(Month(Now))&CStr(Day(Now))+CStr(Hour(Now))&CStr(Minute(Now)) 
    patch="E:\temp\ee\"&filename&".xls" 
    objExcelApp.Visible=True 
    objExcelApp.Workbooks.Open"E:\temp\ee\biao.xls" 
    objExcelApp.Cells(7,1).Value = Now 
    objExcelApp.Cells(7,2).Value=HMIRuntime.Tags("aa2").read
    objExcelApp.Cells(7,3).value=HMIRuntime.Tags("aa3").read  
    objExcelApp.ActiveWorkbook.SaveAs patch
    objExcelApp.Workbooks.Close 
    objExcelApp.Quit 
    Set objExcelApp=Nothing 

    Else MsgBox "aa"

   End If
  End If 

End If 
End Function

最佳答案

如果你触发器设置30分钟触发一次,意味着打开项目之后,每隔30分钟运行一次这段脚本。
你通过什么保证触发它的时刻正赶上14:50  15:00,16:00,17:00呢?
如果赶不上,那你这段脚本的if里的语句一个也没执行,那怎么会有数呢?

建议你把if里执行的语句写成按钮的vbs脚本,点击按钮测试可以实现写数据的功能,再放回来。
触发器应是三个,就是每天这三个时间。
点击全局脚本编辑器的界面上边触发器的图标,触发器->定时器->周期性 点添加, 然后事件不选标准周期,选下拉列表里的每日的,下边填好时间即可。
用同样方法把每天的这三个时刻都设为触发器,就可以实现你的功能。

提问者对于答案的评价:
谢谢,我再试试.

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc263716.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐

  • 圆形旋转 动态 不执行

    做个园,使其在某个变量为1时间隙旋转10度属性—自定义对象—–几何—-旋转角:右键VBS动作如下内容ScreenItems.Item…

    SIMATIC WinCC 2019年6月11日
  • 6AV6381-2CA07-0AX0 这个授权如何使用

    6AV6381-2CA07-0AX0 这个订货号是WINCC RT CLIENT,这个授权有什么作用呢?这个是客户机/服务器模式中使用的授权吗?每个客…

    SIMATIC WinCC 2020年11月1日
  • 在win2003sp2中按Win cC时的特大问题

    在安装Win cc时.它让我按一个KB9046062好像是这个号.在盘里有.可是和我的SP2不兼容.这可怎处理呢.时间可不等人呀.在网上也没有卸载SP2的方法.还有什么方…

    SIMATIC WinCC 2019年6月11日
  • Wincc MODBUS RTU协议通讯协议

    现有一个项目用的以太网通讯,但有个设备是MODBUS RTU协议,我应该怎么弄,求大神指教谢谢了 问题补充:MODBUS TCP/IP通道怎么使用需要什么软件转…

    SIMATIC WinCC 2017年11月1日
  • wincc控件问题123

    使用这个控件总是在运行时候弹出这些东西 问题补充:都取消了还是这样,反正打开有这个控件的页面他就会弹出这个窗口,是缺少什么东西吗? 图片说明:    &nbsp…

    2021年7月5日
  • 触摸屏备份时间长短

    备份一个触摸屏文件要多长时间 最佳答案 没有测试过,时间不会很长,一般几分钟吧关于触摸屏的备份参考:备份与恢复精简面板-基于WinCC(博途)https://support.ind…

    SIMATIC WinCC 2021年7月5日
  • 帮助文件无法打开

    点击“帮助”——“目录和索引”,窗口闪一下就不见了。点击“帮助”——“使用帮助”,提示找不到WinHlp32.hlp文件。不想重新安装,有没有办法解决? 最佳答案 应该是你没有安装…

    SIMATIC WinCC 2019年6月11日
  • 如何在WinCC 的运行状态下关闭一个WINDOWS程序?

    比如关闭WINDOWS里的计算器或者一个游戏。我自己搜到一个网址:http://support.automation.siemens.com/CN/llisapi.dll?func…

    SIMATIC WinCC 2019年6月11日
  • WINCC改变显示器后不能全屏查看

    我的WINCC项目是在19寸显示器上制作的,将项目拷贝到17寸显示器的电脑上不能正常观看,只能看见一部分,请问如何修改才能像在19寸时一样制作查看项目,谢谢 最佳答案 大画面要在小…

    SIMATIC WinCC 2019年6月11日
  • SIMATIC WinCC flexible 2008 sp4安装问题

    SIMATIC WinCC flexible 2008 sp4安装后,能正常使用,但是电脑重启就蓝屏,修复后电脑能正常启动,启动后提示“al…

    SIMATIC WinCC 2017年5月29日