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

Evi*_*ach 5 perl ole ms-word

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

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

Axe*_*man 10

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

 my $word = Win32::OLE->new( 'Word.Application' );
Run Code Online (Sandbox Code Playgroud)

然后使用带有命名参数的Documentscollection Open方法ReadOnly.像这样:

 $doc = $word->Documents->Open( { FileName => $document_path,
                                , ReadOnly => 1
                                } );
Run Code Online (Sandbox Code Playgroud)

请阅读http://msdn.microsoft.com/en-us/library/bb216319.aspx以获取语法Documents.Open