Способ заключается в попытке открыть документ с использованием фиктивного пароля.
Это метод, который я пробовал.
my $Word = Win32::OLE->new('Word.Application');
if(!$Word){
# Word can't be opened, exit or return false
}
my $Doc;
eval{$Doc = $Word->Documents->Open("Path to your doc",undef,undef,undef,"thisIsPassword");};
if([email protected]){
# Document opening failed, exit or return false
}
if(!$Doc){
# File doesn't exists, exit or return false
}
my $var = Win32::OLE->LastError() ;
if($var){
# File may be password protected, exit or return false
}
unless ($Doc eq '') {
# Do whatever...
}
Проверьте это http://stackoverflow.com/questions/568924/how-can-i-suppress-excels-password-prompt-in-perl – Raghuram