0. As BIGAL said, if it is not assumed that the file already exists
1. In the case of a routine written by directly controlling .xlsx rather than exporting to a .csv file,
Excel cannot be used = the cell contents are being modified, or a message box is displayed. And so on, it doesn't work.
2. If Lisp was not used continuously, but was only running well yesterday, variables that did not handle local variables may have had an effect.
3. If it only works on certain drawings, it could be if you hardcoded the conditions.
4. The code uses visual lisp features, but (vl-load-com) is missing
5. When system variables such as LISPSYS are changed
6. When saving in VSCODE, unlike when saving in Notepad, characters may be corrupted due to incorrect language settings.
7. Try on a PC that does not have Excel installed.
8. In the case of alternative CAD, VARIANT VALUE and SAFEARRAY are specified differently depending on the version.
In the case of zwcad, the type restrictions in lisp syntax are more flexible than autocad (In other words, made it roughly and only implemented it...)
but I don't know if this is the case for bricscad as well.
9. If you want to process too many drawings at once using script or odbx or something, compared to the PC specifications,
When release is not performed properly after execution.
In this case, it is okay if a list is output when the (gc) command is entered. If it is not normal, nil is returned.
I wrote it roughly as it came to mind, so there may be mistakes.
The best thing to do is upload your code and review it.