如何使用 VBA 获取 word 文档的磁盘路径? Document.Path 改为返回 Web 路径
Posted
技术标签:
【中文标题】如何使用 VBA 获取 word 文档的磁盘路径? Document.Path 改为返回 Web 路径【英文标题】:How can I get the disk path of a word document using VBA? Document.Path returns the web path instead 【发布时间】:2020-07-09 08:41:21 【问题描述】:我有一个带有一些 vba 代码的 word 文档。我想返回保存word文档的目录路径。
这是我使用的代码:
Dim PathCurrentDocument As Variant
PathCurrentDocument = ActiveDocument.path
Debug.Print PathCurrentDocument
想要的输出是:
“C:\Users\firstname.lastname\OneDrive - 公司名称\VBA\4_update_documents_with_vba_inside_word\document_templates_to_modify”
我得到的是网络链接,如下所示:
https://my-company.sharepoint.com/personal/my_name/Documents/VBA/4_update_documents_with_vba_inside_word/Document_A_Template_with_macro.docm
microsoft documentation 仅表示该属性返回文档的磁盘或 Web 路径。它没有说如何选择返回哪个。
【问题讨论】:
Document.FullName 也返回 web 路径 Path (FullName) 返回真实路径。为什么(或如何)它应该返回未保存文档的路径?如果要将文档保存在其他位置,则必须设置特定目录。 它确实返回了保存文档的真实路径,只是格式不正确。我希望该路径作为磁盘路径,但它作为 Web 路径返回。 路径不是您想要的,并不意味着它不正确。您将始终获得打开文档的路径或保存到的路径。如果从本地磁盘或网络驱动器打开文档,您将获得磁盘路径。如果它是从 OneDrive 或 SharePoint 打开的,您将获得一个 Web 路径。这就是 Word 的工作原理。 现在我明白了。这是一个 Web 路径,因为该文件存储在 OneDrive 中。谢谢蒂莫西。 【参考方案1】:根据文档的来源,Document.Path 属性返回文档的磁盘或 Web 路径。
如果要获取本地文件路径,请使用Document.SaveAs2 方法。基本上,您需要将文件保存在硬盘上的任何位置。
【讨论】:
以上是关于如何使用 VBA 获取 word 文档的磁盘路径? Document.Path 改为返回 Web 路径的主要内容,如果未能解决你的问题,请参考以下文章