使用excel记录数据

我想实现使用excel记录wincc变量数据的功能,每次打开excel后在新的一行相同列里写入数据,即不能覆盖原有数据。下面这个程序只能每次把变量写在第一行,不能实现写入下一行的功能,请问如何修改?
 Dim objExcelApp
 Set objExcelApp = CreateObject("Excel.Application")
 objExcelApp.Visible = False 'True
 objExcelApp.Workbooks.Open "d:\ExcelExample.xls"
        objExcelApp.Cells(1, 1).Value = ScreenItems("tag1").OutputValue
        objExcelApp.Cells(1, 2).Value = ScreenItems("tag2").OutputValue
        objExcelApp.Cells(1, 3).Value = ScreenItems("tag3").OutputValue
 objExcelApp.ActiveWorkbook.Save
 objExcelApp.Workbooks.Close
 objExcelApp.Quit
 Set objExcelApp = Nothing

问题补充:
谢谢大家的帮助,我用的dcount107的方法已经解决了,城外之人的办法也不错。只是我运行程序时发现一个问题,这个ExcelExample.xls文档需要事先在d盘建立,如果没有建立的话,运行时会报错,说没有找到这个文档,请问如果我想让程序自己建立excel文档的话如何解决?

最佳答案

呵呵,在开始写数时首先要获取第一列空行iBlankLine,然后再进行写入操作

  Dim objExcelApp,oWorkBook
  Set objExcelApp = CreateObject("Excel.Application")
  objExcelApp.Visible = False 'True
  Set oWorkBook = objExcelApp.Workbooks.Open("d:\AA.xls")
  Dim iBlankLine 
  iBlankLine = oWorkBook.ActiveSheet.Columns(1).Find("").Row '查找第一列的空行
  'MsgBox iBlankLine
   objExcelApp.Cells(iBlankLine, 1).Value = ScreenItems("tag1").OutputValue
   objExcelApp.Cells(iBlankLine, 2).Value = ScreenItems("tag2").OutputValue
      objExcelApp.Cells(iBlankLine, 3).Value = ScreenItems("tag3").OutputValue
  oWorkBook.Save
  objExcelApp.Workbooks.Close
  objExcelApp.Quit
  Set objExcelApp = nothing

  补充:Set oWorkBook = objExcelApp.Workbooks.Add
 oWorkBook.SaveAs "D:\ExcelExample.xls"
 即可新建。但这不是完美的解决方法,通过fso组件首先判断这个文件是否存在再决定打开还是创建。fso的代码很多,自己搜索吧!

提问者对于答案的评价:
谢谢,已经解决!

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

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

相关推荐

  • 西门子的触摸屏资料

    到哪里查找西门子的资料的呀,我主要要7.5英寸的,触摸屏的电源是多少,开孔尺寸,安装软件及使用手册 最佳答案 上面说的都很详细了! 提问者对于答案的评价:好,谢谢了 专家置评 参考…

    SIMATIC WinCC 2019年6月11日
  • WINCC默认密码

    项目做好了,要使用用户管理器给不同的用户分配权限,在管理员组设置密码时遇到了麻烦,WINCC默认的管理员是删除不了的,我新建了一个管理员分配了全部的权限,但是我想知道,默认的管理员…

    SIMATIC WinCC 2019年6月11日
  • WinCC 组态及通信问题

    我有一台电脑安装有CP5611卡,机上还装有STEP7,V5.3软件,现我准备用WinCC6.2软件监控一台S7-300,两台S7-200PLC(装有EM277),使用PROFIB…

    SIMATIC WinCC 2019年6月11日
  • wincc开机就启动打印报警记录室怎么回事?

    要是电脑启动WINCC就打印报警记录,而且显示打印的状态一直有,也无法关闭,除非退出WINCC。这是什么原因? 最佳答案 在计算机属性—启动里有个“消息顺序报表/SEQPRT”…

    SIMATIC WinCC 2019年6月11日
  • wincc7.3 项目无法激活

    wincc7.3建的项目,点击激活,出现如下提示。 图片说明:       最佳答案 检查操作系统 系统不可以是ghost的操作系…

    2021年7月5日
  • WinCC双屏显示

    我想用WinCC做双屏显示,要求显示的内容不同,软件上已经基本解决,我想问一下硬件上怎么做配置,显卡该选什么型号的?谢谢!! 最佳答案 现在很多显卡都能支持,比如说翔升权杖9600…

    SIMATIC WinCC 2019年6月11日
  • 关于西门子软件的架构和配置

    1台工程师站,2台操作员站,2台服务器,要支持10用户的web发布,西门子的组态软件应该怎么配置?每台机子装什么软件,需要什么授权?web发布在哪个机子实现?另外西门子有工业实时数…

    SIMATIC WinCC 2021年7月5日
  • 同时向PLC写入10字节的问题

    各位高手,用WinCC需要同时对S7 300写入10个字节的数据,假设10byte从MB581-MB590,我想通过下面的代码实现,请问我该怎么写,由于我对C不很了解,希…

    SIMATIC WinCC 2019年6月11日
  • Wincc在线趋势控件如何实现CPK值自动计算?

    CPK在不用QAx® 的情况下有法算么,主要是点“计算统计”的时候“平均值”和“标准差”的数值如何取出来存到内部变量去? 项目用的是wincc7.0SP…

    SIMATIC WinCC 2019年6月11日
  • VB脚本帮助中文版谁有?

    WINCCV6.2帮助中关于VB的部分都是英文的,看起来太费事,也不容易理解,不知道谁有中文说明版本的?请给予帮助。我的邮箱是:cairunming@rizhaosteel.com…

    SIMATIC WinCC 2019年6月11日