Hello wise ones.
I have a script that opens a Word Document, saves it as a txt document. This code works fine. Does anyone know of a way to capture the text from the word document into an array without saving it to a txt document first? Below is the working code and as always I am open to any and all criticism both good and bad.
Thanks in advance.
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, PasswordDocume
+nt => '', PasswordTemplate => '',
Revert => 0, WritePasswordDocument =>
+ '', WritePasswordTemplate => '',
Format => wdOpenFormatAuto, XMLTransf
+orm => ''});
$wd_object->ActiveDocument->SaveAs({FileName => "$txtdoc", FileForma
+t => wdFormatText, LockComments => 0,
password => '', AddToRecentFil
+es => 1, WritePassword => '',
ReadOnlyRecommended => 0, Embe
+dTrueTypeFonts => 0,
SaveNativePictureFormat => 0,
+SaveFormsData => 0,
SaveAsAOCELetter => 0, Encodin
+g => 1252, InsertLineBreaks => 1,
AllowSubstitutions => 0, LineE
+nding => wdCRLF});
$wd_object->ActiveDocument->Close();