Através dos caminhos UNC podemos conectar servidores e outras estações de trabalho sem mapeamento de uma unidade.
A sintaxe de um caminho UNC é o seguinte: \\servername\\sharename\\directory\\
A função a seguir, a partir de um caminho mapeado, retorna o caminho UNC. Ao evocarmos essa função, a mesma percorre a matriz resultante até a letra correspondente ser encontrada.
Uma vez encontrada, o caminho traçado é trocado pelo caminho UNC correspondente.
Function GetUNCPath(filePath As String) As StringDim result() As StringDim i As LongDim driveLetter As StringDim found As Boolean' check for valid pathIf Len(Dir(filePath)) = 0 ThenExit FunctionEnd If' get drive letterLet driveLetter = Left$(filePath, 2)' get UNC pathsLet result = GetNetworkDrives' look for matching drive letter in arrayFor i = LBound(result) To UBound(result)Let found = (result(i, 1) = driveLetter)If found Then ' swap drive letter for matching UNC pathLet GetUNCPath = Replace(filePath, driveLetter, result(i, 2))Exit FunctionEnd IfNext iEnd Function
Como usar:
Debug.Print GetUNCPath("T:\MyA&ACompanyDrive\Specific\Company Secrets\")Sub TestGetUNCPath()
End Sub
Tags: VBA, UNC, Drive, mapeado,
Nenhum comentário:
Postar um comentário