- 论坛徽章:
- 0
|
- #!perl -w
- use strict;
- use 5.010;
- use Win32::OLE;
- use Win32::OLE::Const 'Microsoft Excel';
- $Win32::OLE::Warn = 3;
- sub open_excel_file {
- my $file_name = shift;
- my $excel = Win32::OLE -> GetActiveObject('Excel.Application') ||
- Win32::OLE->new('Excel.Application', 'Quit');
- my $workbook = $excel -> Workbooks -> Open($file_name);
- $workbook -> Close();
- }
- &open_excel_file("E:/week/test1.xlsx");
- &open_excel_file("E:/week/test2.xlsx");
复制代码 报错:- Win32::OLE(0.1709) error 0x80010108: ""
- in METHOD/PROPERTYGET "" at E:\week\test.pl line 12
复制代码 如果在第16和17行之间插入:- my $number = 99999;
- while ( $number >= 0 ) {
- $number--;
- }
复制代码 就能正常运行,而且 $number 还不能太小,例如,如果 $number=10000, 就会报错:- Win32::OLE(0.1709) error 0x80010108: "" at E:\week\test.pl line 10
- eval {...} called at E:\week\test.pl line 10
- main::open_excel_file('E:/week/test2.xlsx') called at E:\week\test.pl line 21
复制代码 这种问题怎么解决呀?期待..... |
|