John M. Dlugosz has asked for the wisdom of the Perl Monks concerning the following question:
I've got several problems here, which I think are all related. When I run this, giving it a fully-qualified file name of a Word document, it apparently does load the object and hooks it up to the proper COM server, because the FullName property works and SaveAs works.my $filename= shift @ARGV; print "processing [$filename]\n"; my $Doc= Win32::OLE->GetObject ($filename, sub {$_[0]->Close()} ); print "** $Doc $Doc->{FullName}\n"; $Doc->SaveAs ('F:\\dev\\experiment\\ScanWord\\foobar.doc');
But then when it quits, it can't Close the document (error says "This method or property is not available because a document window is not active". Close method is documented as taking either a Window or a Document or Pane, so why doens't it close this document?).
Meanwhile, after Perl terminates, WINWORD.EXE is still running, and still has the file foobar.doc open. That problem (I would have thought that this whole reference counting thing would have taken care of it!) is why I put the Close in the destructor-spec in the first place.
Any clues, please? Pointers to better Win32::OLE information than came with the .pm?
—John
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Win32::OLE problem with Destructing
by cacharbe (Curate) on Jul 21, 2001 at 00:41 UTC | |
by John M. Dlugosz (Monsignor) on Jul 21, 2001 at 00:52 UTC | |
by cacharbe (Curate) on Jul 23, 2001 at 19:16 UTC | |
|
Re: Win32::OLE problem with Destructing
by rchiav (Deacon) on Jul 21, 2001 at 00:30 UTC | |
by John M. Dlugosz (Monsignor) on Jul 21, 2001 at 00:49 UTC |