[英]perl win32 ole timeout
我使用perl和Win32 :: OLE来自动执行一些Excel任务。 由于Excel文件太大,因此该过程需要相当长的时间才能完成...但是将其放置一整夜后,我相信它会由于“超时”问题而卡住。 如果我减小文件大小,那就可以了。
无论如何增加超时时间??
我的代码部分:
# Open the rules file
my $xlBook = $xlApp->Workbooks->Open("$file");
my $xlSheet = $xlBook->Worksheets(1);
#Replace FALSE -> 0
$xlSheet->Cells->Replace ({ What => "FALSE", Replacement => "0" });
#Replace TRUE -> 1
$xlSheet->Cells->Replace ({ What => "TRUE", Replacement => "1" });
更改自动化超时的方法是调用CoRegisterMessageFilter来注册IMessageFilter实现以处理COM调用,例如, 调用OLEUIBusy以显示服务器繁忙对话框 。
我不认为Win32 :: OLE实现此目的,您可以尝试将CoRegisterMessageFilter代码包装在进程内COM服务器中,然后在服务器中注册消息过滤器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.