Mr RIckards et al-
Thank you. that has helped a LOT. there's 2 issues left. one is a PERL
issue I'm not sure how to deal with, the other is an OLE/Excel one in
which excel is left up with an error message saying "not enough resources
to display" after bringing the workbook up for the second time.
I am using a batch file in the test and since notepad has a limit it needs
two lines and thus two calls to get all the nodes.
The first error I mentioned is when the file previously exists. I don't
know of a function to find the first unused cell in a column, so I made
one.
---code to find first unused cell----
# start row counter
my $row=2;
# set row counter to continue at the end of what's there
my $ncell = $ws1 -> Range("A$row") -> {'Value'};
while($ncell =~ m/\w+/i){
$row++; # increment row & V- grab next row's data -V
$ncell = $ws1 -> Range("A$row") -> {'Value'};
}
---end code to find first unused cell----
it gets this error: Use of uninitialized value in pattern match (m//)
at compinfo.pl line 234.
234 is : while($ncell =~ m/\w+/i){
I am unsure of how to stop this. Does anyone have suggestion on how to
find the first unused in the control column without having an
uninitialized error?
The only thing I can think of is to concatinate . ' ' into the line where
I set it, but that would merely move the error.
The OLE error is in a function to find existing worksheets. Due to the
nature of the message excel pops up I'm not sure this is a problem in OLE
per se.
the error:
retrying default method at /PerlApp/Win32/OLE/Lite.pm line 156.
Win32::OLE(0.1403) error 0x8001010a: "The message filter indicated that
the
application is busy"
in METHOD/PROPERTYGET "" at compinfo.pl line 450
----sub routine producing error---
sub ExistingWorksheet{
# this looks to see if a worksheet exists
my $test = $_[0]; # name to test for
my $ewb = $_[1]; # Excel WorkBook to look in
for my $sn (1 .. $ewb->Worksheets->{'Count'}){ # get last sheet #
&rep("testing '".$ewb -> Worksheets($sn) -> { 'Name' }."' against
'$test'\n",1);
# for each sheet in the book
if($ewb -> Worksheets($sn) -> { 'Name' } eq $test){
# if they are the same return true (postive #) as the sheet number
return $sn;
}
}
return 0; # if we get to this line it doesn't exist, return false
}
----end code for sub routine producing error----
line 450 is: for my $sn (1 .. $ewb->Worksheets->{'Count'}){ # get last
sheet #
Since essentially the same code works right elsewhere i think this has to
do with the system being overtaxed, but have nothing else to back that up.
In your expert opinions, could that be the issue?
-Josh
-----------------------------------------
PLEASE NOTE:
SeaChange International headquarters in Maynard, MA is moving!
Effective March 1, 2006, our new headquarters address will be:
SeaChange International
50 Nagog Park
Acton, MA 01720 USA
All telephone numbers remain the same:
Main Corporate Telephone: 978-897-0100
Customer Service Telephone: 978-897-7300
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs