【发布时间】:2013-12-30 12:05:25
【问题描述】:
有没有一种方法可以找出 MS Word 文档中段落的对齐方式。谁能帮帮我?
【问题讨论】:
有没有一种方法可以找出 MS Word 文档中段落的对齐方式。谁能帮帮我?
【问题讨论】:
使用 OLE,您似乎可以通过具有 Alignment 属性的 ParagraphFormat2 对象获得对齐(或对齐)。这是 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 => 左,1 => 居中,2 => 右,3 => 对齐。
【讨论】: