如何从Perl中以只读方式打开Word文档?

时间:2009-09-24 15:26:28

标签: perl ms-word ole

Perl中是否有任何方法可以让我以只读模式获取对象, 以避免文件被其他用户锁定时弹出的对话框?

$document = Win32::OLE->GetObject("$docFile")
    or die "can't open $docFile";

1 个答案:

答案 0 :(得分:10)

那是因为你做错了。 GetObject只是打开一个具有默认行为的对象。您应该创建Word.Application对象:

 my $word = Win32::OLE->new( 'Word.Application' );

然后使用Documents集合Open方法和命名参数ReadOnly。像这样:

 $doc = $word->Documents->Open( { FileName => $document_path,
                                , ReadOnly => 1
                                } );

阅读http://msdn.microsoft.com/en-us/library/bb216319.aspx了解Documents.Open

的语法