I am using Win32::OLE to interact with Word and I am getting an error which I can't see the reason for. The Perl code is opening a .txt file, running a macro, and then trying to save the file as a Word document (.doc). The SaveAs call precipitates an error which says: Win32::OLE<0.1603> error 0x80020005: "Type mismatch" in METHOD/PROPERTYGET "SaveAs" argument 4 in blahblah line 1318. As near as I can tell, the code I have written is the same as examples I have seen of how to read a text file and save as a Word document. The code snippet is as follows:
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Word';
$word = Win32::OLE->GetActiveObject('Word.Application')
|| Win32::OLE->new('Word.Application');
$mydoc = $word->Documents->Open($xfile);
$word->Run("tskedfmt");
($xfn) = $xfile =~ m/(.*)\.txt$/;
$xfn .= "\.doc";
$mydoc->SaveAs(FileName => "$xfn", FileFormat => wdFormatDocument);
$word->{Visible} = 1;
What am I missing?