in reply to Re: Re: How to get MS-Word Page count and line count?
in thread How to get MS-Word Page count and line count?
use strict; use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Word'; use Win32::OLE::Enum; # Here you have to call the file with "Name.pl C:\dir\file.doc" # This will allow you to point the script anywere rather than # having to put the script into the dir with the file. die "Usage: perl doc_print.pl test.doc" unless @ARGV == 1; my $Word = Win32::OLE->new( 'Word.Application', 'Quit' ) || die "Could +n't run Word"; my $Doc = $Word->Documents->Open(@ARGV[0]) || die "File does not exist + or can not be opened"; # Selection can be the entire doc or refined to a sub-set of text # It is easier to use the functions that exist in word to do the work. my $num_pages = $Doc->ComputeStatistics(wdStatisticPages); my $num_paragraphs = $Doc->ComputeStatistics(wdStatisticParagraphs); my $num_lines = $Doc->ComputeStatistics(wdStatisticLines); my $num_words = $Doc->ComputeStatistics(wdStatisticWords); my $num_chars = $Doc->ComputeStatistics(wdStatisticCharacters); my $num_charWs = $Doc->ComputeStatistics(wdStatisticCharactersWith +Spaces); printf "Page Count %d\n", $num_pages; printf "Character (paragraphs) %d\n", $num_paragraphs; printf "Line Count %d\n", $num_lines; printf "Character (words) %d\n", $num_words; printf "Character (with spaces) %d\n", $num_charWs; printf "Character (wout spaces) %d\n", $num_chars; $Doc->Close;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Re: Re: How to get MS-Word Page count and line count?
by nicholas (Novice) on Mar 09, 2004 at 06:36 UTC |