Bill L.,
While I've not generated a small workbook that replicates the problem, I
have narrowed in on it using debug. I have six standard files I'm using,
two of which work and 4 of which don't. I've switched to using
readxlsheetnames instead of readxlsheets as my test verb to reduce the
output; their behavior seems to be the same.
fexist indicates that all six workbooks exist.
I took the one original file that worked and saved it under the name of a
file that didn't work, and that got me the second working file. IOW, it's
not the file name that's the problem. I don't know enough about Windows
to know if that generated the equivalent of a new inode or if it reused
the old inode when it created the working version with the same old
filename of the originally failing file.
I then fired up debug (Ctrl-k), and I set a stop on all lines of
readxlsheetnames in biffread.
When running xlsheetnames on a working file, all works as expected, of
course. fexist fln returns 1. locs is a boxed integer (or later, I
think, a list of boxed integers), which seems appropriate
When running xlsheetnames on a failing file, readxlsheetnames skips out of
the try. _after_ the fexist fln and goes to the catch.
That made me suspicious of the assignment to wks, so I ran this just
before the check for biff8:
getppssearch__ole 'Workbook' ; 1 ; 1
|out of memory: ugetppssearch
| radone=.radone ,rad
|ugetppssearch[33]
It's apparently that error that is kicking it out to the catch. . Any
idea what that could be?
FWIW, on the same file,
getppssearch__ole 'Book' ; 1 ; 1
(i.e., that returns blank).
That appears to be something in tara.ijs. Does that help you?
FWIW, working and not-working workbooks all take about 1.2 - 1.4MB of disk
space. They all have multiple worksheets as well as macros. If I knew
(or figured out) what getppssearch did, I might be able to help more.
Does this give you a clue?
Thanks,
Bill H.
PS: There may be a difference between working and failing workbooks in how
they're protected (sheets or cells); I'm still researching that.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm