Thanks for the correct formatting, this makes it much easier for people to read your code. I can see right away that this script isn't going to run properly. If you cut your example down to just:

use warnings; use strict; # we are going be working with MS Word Objects use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Excel'; use Win32::OLE::Variant; $word->{Displayalerts} = 0;

And run it you'lll see:

Global symbol "$word" requires explicit package name at strict.pl line + 8. Execution of strict.pl aborted due to compilation errors.

Basically, you've done this before you've created your Word OLE instance. So move this line to after declaring $Word. Also variable names are case sensitive. You have $word->{Displayalerts} = 0; but the word object is $Word. I've reworked the code so far, removed some blank lines:

use warnings; use strict; # we are going be working with MS Word Objects use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Excel'; use Win32::OLE::Variant; my $text = ""; my $directory = "c:\\"; opendir (DH, $directory) || die "can't opendir $directory: $!"; # we are working with Word application my $Word = Win32::OLE->new('Word.Application', 'Quit'); $Word->{Displayalerts} = 0; # hide alerts $Word->{Visible}= 0; # we don't need to see Word in an active window my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit'); $Excel->{Displayalerts} = 0; # hide alerts my $excelfile = "E:\\assin\\foo\\sample.xlsx"; my $root = "E:\\assin\\foo"; my $doc = "E:\\assin\\foo\\Functional.doc";

I don't have the documents you're using. Much of what remains is an exercise for you to resolve. Your next problem is the for loops. You have:

# get the first table my $table = $Word->ActiveDocument->Tables(1); for($row=1;$row<3;$row++) { for($col=1;$col<3;$col++) { my $text = $table->Cell($row,$col)->Range->{Text}; $Sheet->Cells($row,$col)->{'Formula'}=$text; }

There are some problems here. Firstly, you are missing a closing brace, you have two for loops with their opening braces and one closing brace.

for( $row = 1; $row < 3; $row++ ){ for( $col = 1; $col < 3; $col++ ){ my $text = $table->Cell($row,$col)->Range->{Text}; $Sheet->Cells($row,$col)->{'Formula'}=$text; } }

I suggest you do some reading and some research, then make these changes to your code and test it again with the documents you have. You should get some warnings about variables being declared but never used (e.g. @test). Properly indenting your code and using an editor with Syntax_highlighting helps to see where problems are.

"Thanks for suggestion but its no working."

It's not working isn't a helpful reply, you didn't mention what happened when you ran your program, what errors and warnings you encountered. To learn some more about what you're working with, and how to improve your posts here I suggest you read the following:


In reply to Re^3: How to resolve the sound error while executing this program? by marto
in thread How to resolve the sound error while executing this program? by SriramGrandhi

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.