Зачем нам нужен Application.PathSeparator?

MS Office VBA имеет свойство под названием Application.PathSeparator ,

Я поддерживаю совместимость, но Office работает только на Windows и MacOS, и обе платформы используют одинаково \ разделитель пути.

Когда это было бы целесообразно использовать Application.PathSeparator (в отличие от простого жесткого кодирования \ и сохранить 22 нажатия клавиш)?


Чтобы было ясно, я думаю, что важно поддерживать международные различия при публикации кода на международном сайте, таком как Stack Overflow, поэтому я буду часто использовать Application.International свойства, такие как xlDateSeparator и, что более важно, xlDateOrder, (Подробнее об этом здесь)

4 ответа

Этот вопрос основан на неверном предположении, что и Mac OS, и Windows используют один и тот же символ разделителя пути. Это неверно.

Mac OS X не использует обратную косую черту () в качестве разделителя пути. В нем используется косая черта (/), как и в других Unix-подобных операционных системах. В командной строке Mac OS обратная косая черта действует как escape-символ, поэтому использование одного и того же символа на обеих платформах может привести к неожиданным результатам.

В некоторых случаях использовать Application.PathSeparator, потому что если вы откроете книгу из сетевого пространства, например OneDrive из браузера, правильным разделителем будет /. Тем не мение,Application.PathSeparator не замечает этого...

Другие ответы предполагают, что Mac OS X использует косую черту/а также общие/сетевые диски в Windows (что не отражено в Application.PathSeparator).

Итак, угадайте, что я использовал косую черту"/"вместоApplication.PathSeparatorв моем коде VBA для создания папки и открытия файла для вывода, и он отлично работал под Windows.

Я знаю, что для некоторых компаний / приложений для обмена файлами разделителем путей на общем диске является «/» вместо «». Я видел это совсем недавно (в 2021 году).

Другие вопросы по тегам