in reply to Re: VBA to Perl
in thread VBA to Perl

Hi marto.

use strict; use warnings; use Win32::OLE; use Win32::OLE::Const 'Microsoft Word'; use Cwd; #my ($file) = @ARGV; #my $cwd_path = getcwd(); #$cwd_path=~ s/\//\\/gs; #my $file_name = "$cwd_path\\$file"; my $file_name = "c:\\entityandsymbol.doc"; my $Word = Win32::OLE->new('Word.Application'); $Word->{'Visible'} = 1; my $document = $Word->Documents->Open($file_name) || die("Unable to op +en document", Win32::OLE->LastError()); my $Selection = $Word->Selection; $Selection->HomeKey (wdStory); $Selection->TypeText("This is the inserted text"); $Selection->Collapse (wdCollapseEnd); $Selection->TypeParagraph; $Selection->TypeText("This is the inserted text 2"); $Selection->Collapse (wdCollapseEnd); $Selection->TypeParagraph; $Word->Documents($file_name)->Save(); $Word->Quit();

I am getting the error as follows:

Unable to open documentOLE exception from "Microsoft Word": Could not open macro storage. Win32::OLE(0.1701) error 0x800a175d in METHOD/PROPERTYGET "Open" at line 4630.

But the word file opening corectly without modification which I did in coding.

Suggest me in correct way.

Updated: I found the solution for the above problem as per "" information.

Could Not Open Macro Storage Error (Run-time error 5981)

When running BLINK you can get the error message "Could not open macro storage". This is caused by either not having Service Pack 1 installed with Microsoft® Office, or because the Visual Basic and Microsoft® Word installation has become corrupted.

To fix it you will need to either install Service Pack 1, if it has not been installed before, or reinstall Microsoft® Word.

I am reinstalled the Microsoft Word then the above code working fine.

Velusamy R.

eval"print uc\"\\c$_\""for split'','j)@,/6%@0%2,`e@3!-9v2)/@|6%,53!-9@2~j';