5
我有一个vba宏,它对当前文档进行了一些更改,并确定了应该使用它的文件名 - 如果文档没有保存为该文件名,但用户应该被提示这样做(但应该能够改变默认设置)。VBA Word - 另存为对话框初始文件名
我发现两种可能性都不完美(我需要这两种可能性的组合)。
第一种方法:
Application.Dialogs(wdDialogFileSaveAs).Show
打开Save As
对话框,并允许您更改文件的格式和名称,但是默认的文件名是原来的文件名或标题(最多像第一个特殊字符空白或-
)(如果它尚未保存 - 更改文档的标题没有什么帮助,因为建议的文件名将包含-
)。是否可以更改Save As
对话框中显示的初始文件名?
第二种方法:
Application.FileDialog(msoFileDialogSaveAs).InitialFileName = filename
Dim choice As Integer
choice = Application.FileDialog(msoFileDialogSaveAs).Show
If choice <> 0 Then
filename = Application.FileDialog(msoFileDialogSaveAs).SelectedItems(1)
Call ActiveDocument.SaveAs(filename:=filename, FileFormat:=wdFormatDocumentDefault)
End If
的FileDialog
只会选择一个文件名,所以我们必须明确地保存它。 此方法将显示我想要的filename
,但如果用户将后缀更改为例如.pdf
,则该文件仍将以.docx
格式保存(使用后缀.pdf)。在这种情况下,我并不打算对案例进行区分,因为用户需要的格式不同于.docx
。有没有简单的方法使用第二种方法以正确的格式保存文件?
更换呼叫ActiveDocument.SaveAs线你该死的权利,感谢 – outofmind