Зачем нам нужен 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 году).