如何在Wincc中判断一个已存在的的Excel文件已经打开?

我通过Wincc脚本(VB)打开并读写一个已存在的Excel文件中的数据。但在脚本中打开这个文件之前,如何判断这个文件已经打开?因为有可能这个文件已经被打开并正在被编辑,这种情况下脚本程序就不再运行打开Excel文件的语句了。

最佳答案

相同问题见<VBS 判断EXCEL是否打开>:
 http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=25622&cid=1032
 ------------------------------------------------------------------------------------------
 需要使用GetObject来获取Excel进程句柄,从而判断EXCEL文件是否已被打开。
  On Error Resume Next '此句必须有,防止无EXCEL进程时GetObject出错
  Dim xlApp,xlBook
  Dim isXlsOpen 
  isXlsOpen = False
  Set xlApp  = GetObject(,"Excel.Application") '获取EXCEL进程
  If TypeName(xlApp) = "Application" Then '检测到有Excel进程已经打开
   For Each xlBook In xlApp.WorkBooks '循环检查Excel进程打开的Workbooks
    'MsgBox xlBook.FullName
    If xlBook.FullName = "D:\TEMP.XLS" Then '如果路径与所检查的文件一致
        isXlsOpen =True
        Exit For
    End If
   Next
  End If 
 

提问者对于答案的评价:
thanks!

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

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

相关推荐

  • 变量连接不显示

    正在使用的工程组态画面中,一个按钮的颜色属性用的动态连接,为真实为绿色,为假时为红色,使用中画面显示正常,但是查看该按钮属性中颜色的动态变量连接为空,不知道是为什么,变量是存在的,…

    SIMATIC WinCC 2021年7月5日
  • Web Navigator 实现

    Web Navigator 实现浏览发布服务器上的WinCC项目时 能否实现冗余切换 最佳答案 只要服务器勿扰切换,那么你的客户端也可以!! 提问者对…

    SIMATIC WinCC 2019年6月11日
  • 归档数据的计算

    我想通过画面设定的两个时间,然后计算这段时间内归档的数据的累加值.最主要的问题在于如何从归档文件中把数据取出来.还有这样的数据能做滤波吗?wincc版本是6.0sp3 最佳答案 可…

    SIMATIC WinCC 2019年6月11日
  • 如何重装SQL2000SP3A

    我想为工控机做个备份,因此用原工控机的GHOST备份做了一个备份机,当备份机的电脑名及WINCC名都没变时,可正常使用,但一改电脑名及wincc项目名时,WINCC项目启动后连接不…

    SIMATIC WinCC 2019年6月11日
  • wincc6.2中文手册

    谁有wincc6.2中文使用说明书,手册,我想自己学wincc6.2如何使用。谢谢各位了。 最佳答案 参考wcc6.2学习资料: http://www.ad.siemen…

    SIMATIC WinCC 2019年6月11日
  • wincc按钮实现画面切换

    我在wincc里组态了一个按钮,鼠标按一下,弹出两个这样的按钮←、→,其中←这个按钮是隐的,当按下→这个按钮是弹出一个画面,同时可以看到←这个按钮,这个动作的c脚本怎么写,说的月具…

    SIMATIC WinCC 2019年6月11日
  • VB根据当前日期来存储 日期.CSV文件?

    如图,精致面板TP700中,我想把生成的csv文件的文件名,用今天的日期来命名,是什么样的格式呢? 图片说明:       最佳答案 字符串…

    2020年11月1日
  • Wincc上位机OPC通讯

    三维力控通过OPC读取Wincc数据,客户端测试的时候显示OPC服务器“没有注册类”,Wincc电脑是64位的,我配置32位的电脑的可以进行OPC通讯 最佳答案 OPC的组件对于系…

    SIMATIC WinCC 2017年6月9日
  • wincc Modbus TCP/IP通讯

    请问Modbus TCP/IP驱动下,建立多个驱动程序的连接时,如何设置轮询间隔时间。现在用了一个Modbus TCP转Modbus RTU服务器,r…

    2017年6月10日
  • wincc v7.5用户管理

    客户要求做一个用户登录功能,用户名有3个,要做一个可以下拉选择的,密码在下面IO域框内输入,如下图所示。现有几个问题:1、用户名和用户密码连接的变量在wincc内部变量是哪个?2、…

    2021年7月5日