我想在 vba 代码中获取事件工作簿的路径。
ActiveWorkbook.Path
执行此操作
但是
我需要它来检索这样的东西:
\\MachineName\ShareFolder\ETC\ETC2
不是:
S:\ETC\ETC2
其中 S:
映射到 \\MachineName\ShareFolder\
。我该怎么做?
最佳答案
Dim Drive As String
Drive = Left(ActiveWorkbook.Path, 2)
ActiveWorkbookPath = Replace(ActiveWorkbook.Path, Drive, GetNetworkPath(Drive))
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
关于vba - 如何从Application.Path获取UNC路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47908572/