是否有方法可以找出MS Word文档中段落的理由。任何人都可以帮助我吗?
答案 0 :(得分:2)
使用OLE,看起来您可以通过ParagraphFormat2
对象获得对齐(或对齐),该对象具有Alignment
属性。以下是OLE文档中的一个示例:
ActivePresentation.Slides(1).Shapes(2).TextFrame2.TextRange2.ParagraphFormat2.Alignment
您可以阅读有关此对象here的更多信息。
要提供Perl示例,请查看此示例:
use strict;
use warnings;
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Word';
use Win32::OLE::Variant;
my $word = Win32::OLE->GetActiveObject('Word.Application')
|| Win32::OLE->new( 'Word.Application', 'Quit' );
$word->{Visible} = 1;
my $doc = $word->{Documents}->Open('<full path to file>');
print $doc->Paragraphs(1)->{Alignment} . "\n";
$doc->Close();
您需要至少在安装了Microsoft Word的计算机上安装Win32::OLE
库。在编写Perl应用程序以使用OLE时,任何OLE对象都是方法调用,而任何OLE成员都是哈希引用。
当您打开文件时,您需要提供文件的完整路径,即“C:\\ folder \\ doc.docx”。更改传递给Paragraphs
的数字,无论您想要哪个段落(在OLE数组中从1开始。)
Alignment
键将返回一个int,对应于WdParagraphAlignment Enumeration
。我能够测试出来; 0 =&gt;左,1 =&gt;中心,2 =&gt;对,3 =&gt;合理的。