2

ワードまたはエクセル文書を開く前に、その文書がパスワードで保護されているかどうかを事前に知りたいです。保護されている場合はスキップしたいと思います。

Win32::OLE を使用してファイルを開きます。

4

1 に答える 1

0

方法の 1 つは、ダミーのパスワードを使用してドキュメントを開こうとすることです。

以下は私が試した方法です。

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($@){
    # 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...
}
于 2013-07-03T09:18:49.023 に答える