Преобразование пути к сетевой папке в формат 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 V / \ V V /
\__,_| |_| |____/ |_| \_| \_/\_/ \_/\_/
Введите код, изображенный в стиле ASCII-арт.

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

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