use Win32::OLE; use constant wdCRLF => 0; use constant wdFormatText => 2; use constant wdOpenFormatAuto => 0; $doc = "c:\\temp\\test.doc"; $txtdoc = "$ENV{TEMP}\\reportmacro.txt"; $Win32::OLE::Warn = 3; my $wd_object = (Win32::OLE->GetActiveObject('Word.Application') || Win32::OLE->new('Word.Application', 'Quit')); ##### MAKE WORD APP VISIBLE(1), NOT VISIBLE(0) #### $wd_object -> {Visible} = 1; $wd_object->Documents->Open({FileName => "$doc", ConfirmConversions => 0, ReadOnly => 0, AddToRecentFiles => 0, PasswordDocument => '', PasswordTemplate => '', Revert => 0, WritePasswordDocument => '', WritePasswordTemplate => '', Format => wdOpenFormatAuto, XMLTransform => ''}); $wd_object->ActiveDocument->SaveAs({FileName => "$txtdoc", FileFormat => wdFormatText, LockComments => 0, password => '', AddToRecentFiles => 1, WritePassword => '', ReadOnlyRecommended => 0, EmbedTrueTypeFonts => 0, SaveNativePictureFormat => 0, SaveFormsData => 0, SaveAsAOCELetter => 0, Encoding => 1252, InsertLineBreaks => 1, AllowSubstitutions => 0, LineEnding => wdCRLF}); $wd_object->ActiveDocument->Close();