当我通过OLE自动化Microsoft Excel时,如何保证不会出现弹出对话框?我正在使用Perl模块(Win32 :: OLE).我可以使用以下代码避免大多数对话框弹出窗口:
use Win32::OLE; use Win32::OLE::Variant; use Win32::OLE::Const; my $excel_symbols = Win32::OLE::Const->Load('Microsoft Excel'); my $excel = Win32::OLE->new('Excel.Application', sub { $_[0]->Quit();} ); $excel->{'Visible'} = 0; $excel->{'DisplayAlerts'} = 0; $excel->Workbooks->Open('c:\some_excel_file.xls', { 'UpdateLinks' => $excel_symbols->{'xlUpdateLinksNever'}, 'ReadOnly' => 1, 'IgnoreReadOnlyRecommended' => 1 });
但是对于某些文件,我继续使用以下文本进行对话:
此文件不是可识别的格式.
如果您知道该文件来自与Microsoft Excel不兼容的其他程序,请单击"取消",然后在其原始应用程序中打开此文件.如果要稍后在Microsoft Excel中打开该文件,请将其保存为兼容的格式,例如文本格式.
如果您怀疑文件已损坏,请单击"帮助"以获取有关解决问题的详细信息.
如果您仍想查看文件中包含的文本,请单击"确定".然后在文本导入向导中单击"完成".
确定取消
有时会出现类似的对话框,其中包含"确定","取消"和"帮助"按钮.
我无法控制提供给脚本的文件的质量.