标题:如何判断通过VFP打开的Excel是否处于忙碌状态?
取消只看楼主
ztx19
Rank: 1
等 级:新手上路
帖 子:18
专家分:5
注 册:2014-8-22
结帖率:80%
已结贴  问题点数:20 回复次数:5 
如何判断通过VFP打开的Excel是否处于忙碌状态?
在用VFP对Excel进行操作中,如果Excel处于忙碌状态(如单元格处于活动状态),就会出现“...程序正在忙碌中,因此该操作无法完成。请选择切换至命令,然后更正问题。”的提示,如何判断通过VFP打开的Excel是否处于“忙碌”状态?如果无法判断,如何屏蔽这个提示?

[此贴子已经被作者于2022-7-13 10:18编辑过]

搜索更多相关主题的帖子: 判断 VFP Excel 状态 打开 
2022-07-13 10:09
ztx19
Rank: 1
等 级:新手上路
帖 子:18
专家分:5
注 册:2014-8-22
得分:0 
以下是引用csyx在2022-7-13 11:01:13的发言:

vfp 有三个相关的属性:_vfp.OLERequestPendingTimeout,OLEServerBusyTimeout,OLEServerBusyRaiseError


我试了一下:
oExcel=Createobject("Excel.application")
oExcel.Workbooks.Add
oExcel.Visible=.T.
oExcel.ActiveSheet.Range('A1').Select   &&单元格激活时,这句出现提示:由于"Microsoft Excel - Book1"程序正在忙碌中,因此该操作无法完成。请选择”切换至“命令,然后更正问题。

?_vfp.OLERequestPendingTimeout   &&返回5000
?_vfp.OLEServerBusyTimeout       &&返回10000
?_vfp.OLEServerBusyRaiseError    &&返回.F.

求详解,谢谢!


[此贴子已经被作者于2022-7-13 12:58编辑过]

2022-07-13 12:52
ztx19
Rank: 1
等 级:新手上路
帖 子:18
专家分:5
注 册:2014-8-22
得分:0 
还是不懂,我这样设了之后,还是显示忙碌消息:
_vfp.OLERequestPendingTimeout=0
2022-07-13 13:19
ztx19
Rank: 1
等 级:新手上路
帖 子:18
专家分:5
注 册:2014-8-22
得分:0 
问题解决了!谢谢!!!
oExcel=Createobject("Excel.application")
oExcel.Workbooks.Add
oExcel.Visible=.T.
_vfp.OLEServerBusyRaiseError=.t.
WAIT WINDOW '等待过程中激活Excel表中的一个单元格'
oExcel.ActiveSheet.Range('A1').Select

2022-07-13 15:42
ztx19
Rank: 1
等 级:新手上路
帖 子:18
专家分:5
注 册:2014-8-22
得分:0 
以下是引用吹水佬在2022-7-13 15:52:15的发言:

测试就这几句也没异常
oExcel=Createobject("Excel.application")
oExcel.Workbooks.Add
oExcel.Visible=.T.
oExcel.ActiveSheet.Range('A1').Select

oExcel=Createobject("Excel.application")
oExcel.Workbooks.Add
oExcel.Visible=.T.
_vfp.OLEServerBusyRaiseError=.t.  &&如果不加这一句,程序暂停时双击激活Excel一个单元格,再继续程序运行,过一会儿(大约几秒种)就有问题了。
WAIT WINDOW '等待过程中激活Excel表中的一个单元格'
oExcel.ActiveSheet.Range('A1').Select
2022-07-13 16:19
ztx19
Rank: 1
等 级:新手上路
帖 子:18
专家分:5
注 册:2014-8-22
得分:0 
在csyx的帮助下,几经周折问题基本解决,谢谢吹水版主的关注!
2022-07-13 16:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509550-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.458501 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved