Преобразование пути к сетевой папке в формат UNC

К примеру, требуется преобразовать путь вида Z:\Папка\Разное\ (где Z - буква сетевого диска) в путь вида \\server\Files\Папка\Разное

Для этого можно использовать возможности объекта FileSystemObject:

Sub ПолучениеСетевогоПутиПапки()
    ОбычныйПуть = "Z:\Папка\Разное\"
 
    With CreateObject("Scripting.FileSystemObject").getfolder(ОбычныйПуть)
        СетевойПуть = Replace(.Path, .Drive.Path, .Drive.ShareName)
    End With
 
    Debug.Print ОбычныйПуть, СетевойПуть
    ' СетевойПуть = \\server\Files\Папка\Разное
End Sub

 

То же самое, но в виде функции:

Function UNC(ByVal NetworkPath$) As String
    On Error Resume Next
    With CreateObject("Scripting.FileSystemObject").getfolder(NetworkPath$)
        UNC = Replace(.Path, .Drive.Path, .Drive.ShareName)
    End With
End Function
 
Sub ПримерИспользованияФункцииГТС()
    СетевойПуть = UNC("Z:\Папка\Разное")
    MsgBox СетевойПуть
End Sub

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
  ____        _            ___                      
| _ \ __| | __ _ ( _ ) _ __ ___ __ __
| |_) | / _` | / _` | / _ \ | '_ ` _ \ \ \ / /
| _ < | (_| | | (_| | | (_) | | | | | | | \ V /
|_| \_\ \__,_| \__, | \___/ |_| |_| |_| \_/
|_|
Введите код, изображенный в стиле ASCII-арт.

Не получается применить макрос? Не удаётся изменить код под свои нужды?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.