【发布时间】:2016-01-06 18:34:23
【问题描述】:
我有 VBA,在 Word 2010 中,当用户选择“另存为文件”选项时,它会在“另存为”屏幕中默认一个文件名。 Word 2016 (Office 365) 有一个不同的界面,在出现“标准”另存为对话框之前选择保存位置(OneDrive、此 PC 等)的屏幕似乎破坏了生成指定默认文件的代码名字。
代码(标题简化)是
Sub FileSaveAs()
With Dialogs(wdDialogFileSaveAs)
.Name = "MyTitle"
.Show
End With
End Sub
如果我在Developer to Debug中运行代码,它可以正常工作,出现“另存为”屏幕并且文件名默认,但它在文件名默认为以前的文档名称的实时环境中不起作用。
基于Web研究,我尝试了其他代码来更改文档的属性,将名称放在标题中,因为当时应该在选择时默认,但也不起作用。
。任何有关如何解决此问题的建议或建议将不胜感激。
谢谢!
16 年 1 月 11 日更新: 通过使用以下内容能够更接近一点: Application.DocumentBeforeSave 事件 这里的例子https://msdn.microsoft.com/en-us/library/office/ff838299.aspx 绑定到将事件与应用程序对象一起使用 例如这里https://msdn.microsoft.com/en-us/library/office/ff821218.aspx
必须添加
Cancel=True
到事件过程代码的末尾或另存为对话框将打开两次。 仍然有点笨拙,似乎仅限于在第一个用户生成保存事件之前运行,但几乎可以使用。
想分享我的发现,以防它帮助他人,但任何其他改进建议将不胜感激,因为它似乎仍然不是最好的解决方案。 再次感谢!
【问题讨论】: