cristianbuse / VBA-FileTools

Useful methods for interacting with the file system
MIT License
87 stars 25 forks source link

PathSeparator() is undefined #18

Closed DecimalTurn closed 11 months ago

DecimalTurn commented 11 months ago

On this line of the demo module, the function is undefined:

subFolder = subFolder & i & PathSeparator()

DecimalTurn commented 11 months ago

Also, on line 188, the demo module is calling a private function, so we get a compile error: Debug.Print "UNC path is: " & GetUNCPath(filePath)

cristianbuse commented 11 months ago

Thanks @DecimalTurn ,

Thanks for raising the issues. I just fixed them.

Unfortunately, I've been quite busy in the last few months and besides updating this repo for SQLite, I haven't spent the proper time to do all the work that needs to be done. There are quite a few functions that need to be updated for Mac and I intend to do many other changes including to completely rewrite the demo module and start a proper documentation plus testing. Hopefully next year.

Thanks again!

DecimalTurn commented 11 months ago

My pleasure, thanks for putting this out there, it's already a good resource!

Just curious, what is the benefit of using the constant PATH_SEPARATOR (via conditional compilation) versus using Application.PathSeparator? My understanding was that Application.PathSeparator is preferable because it can return ":" for Classic Mac OS, but maybe that's too ancient for being worth addressing.

cristianbuse commented 11 months ago

The most important benefit is that this library can be used from other host Applications. Of course, I could still wrap the call to the app using late-binding and I actually had this until this commit (old function is at the very end of the commit page). I decided to go with the global constant purely for perfomance - obviously this only matters when using the path separator millions of times. I decided to stop support for Classic Mac OS as not many people use it but I might add it back once I rewrite the repo for Mac

DecimalTurn commented 11 months ago

Ah, I didn't know Application.PathSeparator isn't available for Outlook before looking it up here. Good to know and I'm assuming AutoCAD doesn't have it either.

Regarding not supporting Classic Mac OS, it's propably the right call, I just wanted to make sure that it was intentional as it's not mentioned elsewhere in the project.