FilePath指向映射的驱动器而不是实际的服务器名称

时间:2017-06-08 18:15:05

标签: excel excel-formula

当我使用此公式时:=LEFT(CELL("filename"),FIND("[",CELL("filename"),1)-1) 要检索打开的工作簿的文件位置,它总是给我一些像

C:\ Folder1 \ Folder2 \ Folder3

实际上,我想要

\\ ausp-FIL \ Folder1中\ FOLDER2 \ Folder3。

ausp-fil被映射到C:驱动器上,这就是它出现的原因,但是有没有办法让公式检索带有服务器名称的文件位置?我可能已将ausp-fil映射到C:但我确定其他人没有。

1 个答案:

答案 0 :(得分:0)

我怀疑你只能使用公式来实现它,但是你可以使用这个VBA函数将映射的驱动器号转换为它的UNC路径。 VBA函数可以用于公式。

Function GETNETWORKPATH(ByVal DriveName As String) As String
    Dim objNtWork  As Object
    Dim objDrives  As Object
    Dim lngLoop    As Long

    Set objNtWork = CreateObject("WScript.Network")
    Set objDrives = objNtWork.enumnetworkdrives

    For lngLoop = 0 To objDrives.Count - 1 Step 2
        If UCase(objDrives.Item(lngLoop)) = UCase(DriveName) Then
            GETNETWORKPATH = objDrives.Item(lngLoop + 1)
            Exit For
        End If
    Next

End Function

Sub kTest()

    MsgBox GETNETWORKPATH("P:")

End Sub