RE: Save As option in Win32::OLE
"Ramkumar" <[email protected]>
| Newsgroups | gmane.comp.lang.perl.xml |
|---|---|
| Organization | PMG |
| Message-ID | <[email protected]> |
Hi Bill,
For better understand I inserted symbol for line break.
Ex:
{{Without Line Breaks - Single paragraph - Current Output}}
{{Assume this is a paragraph content}}
Writing, of whatever type, can be a draining and dreaded task. ----
{{With Line Breaks - Single paragraph - Required output}}
{{Assume this is a paragraph content}}
Writing, of whatever¶
type, can be a draining and¶
dreaded task.
Regards,
Ramkumar,
-----Original Message-----
From: Bill Luebkert [mailto:[email protected]]
Sent: Wednesday, June 17, 2009 2:34 PM
To: [email protected]
Cc: [email protected]
Subject: Re: Save As option in Win32::OLE
Ramkumar wrote:
> Jan wrote:
>> You need to show the complete code. I would suspect that you are not
>> including the Word constants using Win32::OLE::Const. If you are
>> using "strict" and "warnings" then you would have been told by Perl.
>
>> But without seeing your complete source it is impossible to tell.
>
>> You also didn't mention how the script output is different from
>> the manual output.
>
> Complete code:
>
> use Win32::OLE;
> use Win32::OLE::Const 'Microsoft Word';
>
> my $folderpath=$ARGV[0];
>
> my $Word = Win32::OLE->new('Word.Application');
> $Word->{'Visible'} = 0;
> $Word->{DisplayAlerts} = 0;
> my $doc = $Word->Documents->Open("$folderpath\\Chapter 1.doc");
> $Word->ActiveDocument->SaveAs({FileName=>"$folderpath\\Chapter
> 1.txt", FileFormat=>wdFormatTextLineBreaks});
> $Word->{ActiveDocument}->Close;
> $doc->Close;
> $Word->Close;
I only have Word 2000 to test with, but this seems to work (not actually
sure what the Dos LB Text is vs reg DOS - assume it just wraps long lines):
use strict;
use warnings;
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Word';
# only have Word 2000 to test with ...
my $folderpath = $ARGV[0] || 'E:/NeedFullPathHere/TestuseWin32.doc';
print "new\n";
my $Word = Win32::OLE->new('Word.Application') or die "new: $! ($^E)";
$Word->{'Visible'} = 0;
$Word->{DisplayAlerts} = 0;
print "open $folderpath\n";
my $Doc = $Word->Documents->Open($folderpath) or die "Open: $! ($^E)";
$folderpath .= '.txt'; # make save as name
print "saveas $folderpath\n";
my $ret = $Word->ActiveDocument->SaveAs({FileName => $folderpath,
FileFormat => wdFormatTextLineBreaks}); # or die "SaveAs: $! ($^E)";
# getting an undef return here, but file is still saved
printf "ret=%s\n", defined $ret ? $ret : 'undef';
print "ADClose\n";
$Word->{ActiveDocument}->Close;
print "DocClose\n";
$Doc->Close;
print "WordQuit\n";
$Word->Quit; # changed to quit
__END__
_______________________________________________
Perl-XML mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
Perl-XML mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs