对于未保存的/新文档在Word 2010中,在用户选择文件>时引发Application DocumentBeforeSave事件。保存或文件>另存为(或导致相同的任何按钮或键盘快捷方式)。 如果一个陷阱此事件可以执行自定义保存操作,则将“取消”设置为“真”,用户仍在查看文档,从未看到任何Word另存为dlg /窗格等。
在Word 2016中(可能也在Word 2013中),仅当用户选择/单击“另存为”窗格中提供的任何链接时,才会引发DocumentBeforeSave事件。
此外,在捕获事件并执行自定义保存操作并将“取消为真”用户设置为“另存为”窗格后。
任何人对于如何为此获得Word 2010行为有任何想法?
答案 0 :(得分:0)
Word 2016:转到文件>选项>保存并勾选“打开或保存文件时不显示后台”:
使用VBA测试此效果:
创建课程:
Public WithEvents wApp As Word.Application
Private Sub wApp_DocumentBeforeSave(ByVal wDoc As Document, _
saveAsUi As Boolean, cancel As Boolean)
If MsgBox("Save?", vbYesNo, "Custom save") = vbNo Then cancel = True
End Sub
创建模块:
Dim myClass As New Class1
Sub Test()
Set myClass.wApp = Word.Application
End Sub
运行Test()然后尝试使用Ctrl-S(或其他一些快捷方式)保存未保存的文档。现在你应该得到“自定义保存”dlg。
如果没有勾选“打开或保存文件时不显示Backstage”按Ctrl-S应该引导文件>在Backstage中另存为选项卡(如问题中所述)。
与使用我们自己的使用功能区(后台)xml替换内置的另存为相比,使用此解决方案的改进是用户仍然可以使用文件>进入内置的另存为。另存为。
现在,另一个问题是:是否可以将用户发送到内置文件>另存为取决于哪个文档处于活动状态?
的Stein-撕