Втр, 29 Июн 2010, Bill Harris писал(а): > 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?
getppssearch is part of ole storage lite that was ported from perl, but I have very limited knowledge on both ole and perl. It failed when parsing an ole storage stream, so either the parsing code is buggy or the structure of your workbook is mal-format. How were those excel files generated? by real excel program or by other excel file writing programs? I am afraid I cannot help much by not getting a file to test. -- regards, ==================================================== GPG key 1024D/4434BAB3 2008-08-24 gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
