我有一个VBA宏,可以对当前文档进行一些更改,并确定应该使用的文件名 - 如果该文档尚未保存为该文件名,则应提示用户这样做(但应能够更改默认设置)。
我找到了两个可能性,但都不完美(我需要两者的混合)。
第一种方法:
Application.Dialogs(wdDialogFileSaveAs).Show
打开“另存为”对话框并允许您更改文件的格式和名称,但默认文件名是旧文件名或文档的标题(直到第一个特殊字符,如空格或“-”)。如果尚未保存文档,则是文档的标题。更改文档标题没有太大帮助,因为建议的文件名将包含“-”。是否可以更改“另存为”对话框中显示的初始文件名?
第二种方法:
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
< p > FileDialog
只会选择文件名,因此我们必须显式保存它。通过这种方法,我想显示所需的 filename
,但如果用户将后缀更改为例如 .pdf
,则文件仍将以 .docx
格式保存(使用后缀 .pdf )。我没有计划在这里对案例进行巨大区分,因为用户需要与.docx
不同的格式是很少见的。是否有一种简单的方法可以使用第二个方法以正确的格式保存文件?< / p >