首页 文章

ThisWorkbook.FullName在与OneDrive同步后返回一个URL . 我想要磁盘上的文件路径

提问于
浏览
1

我在OneDrive上有一本工作簿 . 通常,ThisWorkbook.FullName返回磁盘上的路径:

c:\Users\MyName\OneDrive - MyCompany\BlaBla\MyWorkbook 09-21-17.xlsb

但是在VBA中的一组操作之后,我手动将文件保存到备份文件夹并使用新日期重命名当前文件,OneDrive同步并且ThisWorkbook.FullName返回一个URL:

https://mycompany.sharepoint.com/personal/MyName_Company_com/Documents/mycompany/Apps/BlaBla/MyWorkbook 10-21-17.xlsb

我需要磁盘路径,即使ThisWorkbook.FullName返回一个URL .

如果我想要一起破解某些东西,我可以在操作之前保存路径,但我希望能够随时检索磁盘路径 .

我已经看到了其他人一起入侵的一些程序,但它或多或少只是将URL重新格式化为磁盘上的路径 . 执行此操作并不总是具有相同的目录结构(请参阅链接过程中完成的重新格式化与上面给出的目录结构相比) .

是否有一种可靠,直接的方式返回工作簿磁盘上的路径,即使它在线同步并且ThisWorkbook.FullName返回一个URL?

1 回答

  • -1

    我唯一能想到的是,当你知道自己拥有它时(在开始保存和同步之前)缓存 localPath ,然后使用缓存的 localPath 和工作簿的 Name 来缓存"rebuild":

    Public Sub Test()
        Dim localPath As String
        With New FileSystemObject
    
            With .GetFolder(ActiveWorkbook.Path)
                localPath = .Path
            End With
    
            'SaveAs/synchronize...
    
            Debug.Print .BuildPath(localPath, ActiveWorkbook.Name)
    
        End With
    End Sub
    

相关问题