Long time lurker, first time poster...please be gentle.

I am attempting to move through a directory, pull out only files of a .fin extension (which is Word document format), save each one as .rtf (Rich Text Format). I'd also like to be able to run some predefined macros on the files, but I thought just being able to save was a good place to start.

Currently I get an error stating 'Can't call method "SaveAs" on an undefined value'.

If someone could point me to some clearer text on Win32::OLE than the stuff that ASPN, CPAN and Oreilly's Win32 or Nutshell book I'd greatly appreciate it. If you could tell me what stupid thing I am missing this time that would be great too.

Here's the code:
#usr/bin/perl
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Word';
$articleDirName = "c:\\work\\test\\psq\\test\\";
unless (opendir(DIR, $articleDirName)) {
warn "Can't open $articleDirName\n";
closedir(DIR);
exit(1);
}
foreach (readdir(DIR))
{
next if $_ eq '.' || $_ eq '..';
$path = "$articleDirName$_";
if (-f $path){
if ($path =~ /\.fin/i){
$doc = Win32::OLE->GetObject($path);
$fileName = $path . ".rtf";
print "$fileName\n";
$doc->ActiveDocument->SaveAs({FileName => $fileName, FileFormat => wdFormatRTF})
}
undef $doc;
undef $path;
undef $fileName;
}
}




--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>




Reply via email to