我有一个vba宏,可以对当前文档进行一些更改并确定应用于该文件的文件名-如果未将文档另存为该文件名,但应提示用户这样做(但应能够更改默认设置)。
我发现两种可能性都不是完美的(我需要将这两种可能性混合在一起)。
第一种方法:
Application.Dialogs(wdDialogFileSaveAs).Show
打开Save As
对话框,您可以更改文件的格式和名称,但是默认文件名是旧文件名或-
文档标题(最多保留第一个特殊字符,如blank或)(如果尚未保存的话) -更改文档标题几乎没有帮助,因为建议的文件名将包含-
)。是否可以更改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
。有使用第二种方法以正确格式保存文件的简便方法吗?
您是否尝试过将Call ActiveDocument.SaveAs行替换为
Application.FileDialog(msoFileDialogSaveAs).Execute
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句