在 VBA for Word 中获取保存的文件名
Posted
技术标签:
【中文标题】在 VBA for Word 中获取保存的文件名【英文标题】:Get the saved file name in VBA for Word 【发布时间】:2019-04-01 13:59:28 【问题描述】:我需要你的帮助来解锁我。
我想检索用户在 VBA 中使用 Word 保存的文件的名称。我正在使用BeforeSave
方法,但我似乎无法捕捉到用户选择的名称。
提前感谢您的帮助!
【问题讨论】:
保存文件的新名称不会存储在任何地方。您也可以创建自己的保存对话框并存储该子的名称。 与this question相关但不是骗子 请向我们展示您的代码。否则,这个问题“没有表现出努力”,并且提供的任何代码都将更加“在上下文中”,因此更容易理解。您可以使用问题下方的edit 链接添加更多信息。 【参考方案1】:由于另存为窗格没有触发SaveAs()
子,我认为唯一可靠的方法是由DocumentBeforeSave
触发的OnTime
事件。
类似:
Private Sub App_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI = True Then
Word.Application.OnTime Now + TimeValue("00:00:01"), "AfterSave"
Else
DoStuff()
End if
End Sub
Sub AfterSave()
CheckSaveOccured()
DoStuff()
End Sub
请参阅this post 了解更详细的说明。
【讨论】:
以上是关于在 VBA for Word 中获取保存的文件名的主要内容,如果未能解决你的问题,请参考以下文章
文件保存期间如何处理和提示文件名(Word 2016,VBA)
VBA 代码(如果需要)将新的 Word 文档保存在与其他 Word 文档相同的目录中
如何使用 VBA 获取 word 文档的磁盘路径? Document.Path 改为返回 Web 路径