in reply to writing Arabic text in Excel

I'm extracting 'highlighted' Arabic text from MS Word and outputing it to an Excel file. To do this I'm iterating over each word in the document and checking if it is highlighted. However, this code takes way too long to finish. Is there any better way to do this? Following is the code similar to what I'm using:
use Win32::OLE qw(CP_UTF8); Win32::OLE->Option(CP=>CP_UTF8); use Win32::OLE::Const 'Microsoft Word'; use Spreadsheet::WriteExcel; my $word = Win32::OLE->new('Word.Application', 'Quit'); my $doc = $word->Documents->Open($file); my $workbook = Spreadsheet::WriteExcel->new($out_file); my $worksheet = $workbook->addworksheet(); my $row = 0; my $col = 0; for(my $i = 1; $i <= $doc->Words->Count; $i++) { if($doc->Words->Item($i)->HighlightColorIndex > 0) { $worksheet->write($row++, $col, $doc->Words->Item($i)->Text); } }
Thank you for any help in advance!

Replies are listed 'Best First'.
Re^2: writing Arabic text in Excel
by john_oshea (Priest) on Apr 11, 2006 at 11:39 UTC

    I don't know if it'd be significantly quicker, but you could try using Word's 'find object' to search for the highlighted text, then loop through whatever it returns you.