Perl でワードファイルのヘッダーを取得する
Perl でワードファイルのヘッダーを取得するには?
perl, v5.10.0
windowsXP
ワードファイル:word2003
<行いたいこと>
C:\temp\word.doc のワードファイルのヘッダー(複数行)を取得したい。
<状況>
インターネットでワードファイルの本文は取得できる例がありましたが、
ヘッダーを取得する方法がわかりませんでした。
下記のプログラムでは
・ワードのヘッダーは 0 が表示される。
・ワードの本文は取得できて表示される。
(ヘッダーを表示しようといろいろしてみましたが、できていません)
よろしくお願いいたします。
<プログラム>
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Word';
my $word = Win32::OLE->GetActiveObject('Word.Application') ||
Win32::OLE->new('Word.Application', 'Quit') || die;
# 読み込み
my $doc = $word->Documents->Open('C:\temp\word.doc') || die;
my $headers = $doc ->ActiveWindow->ActivePane->View->{SeekView} = wdSeekCurrentPageHeader;
########## ヘッダー取得(→うまくいかない)##########
print "$headers->{SelectionTypeText}\n"; #null
foreach (in $headers)
{
print $_->{SelectionTypeText}->{'Text'} . "\n"; #null
print $_ . "\n"; #0
print $_->{'Text'} . "\n"; #null
print $headers . "\n"; #0
}
########## 本文取得(→OK)##########
my $paras = $doc->Paragraphs;
foreach (in $paras)
{
print $_->Range->{'Text'} . "\n";
}
$doc->Close();