取消通过VBA显示的"另存为"对话框时出现运行时错误

Dav*_*ard 6 vba word-2007 save

我有一个宏以某种方式格式化文档,然后使用保存它ActiveDocument.Save.

但是,有时文档尚未保存,在某些情况下我不想保存它.不幸的是,当显示"另存为"对话框时单击"取消"会导致运行时错误(4198) -

命令失败

有谁知道我怎么能阻止这种情况发生?谢谢.

bre*_*tdj 2

更新:现在

1. 测试文件之前是否已保存
2. 如果文件未保存,则使用受控进程显示对话框SaveAs以保存文件或处理文件Cancel

代码

Dim bSave As Boolean
If ActiveDocument.Path = vbNullString Then
bSave = Application.Dialogs(wdDialogFileSaveAs).Show
If Not bSave Then MsgBox "User cancelled", vbCritical
Else
ActiveDocument.Save
End If
Run Code Online (Sandbox Code Playgroud)