我有一个 vba 宏,可以对当前文档进行一些更改,并确定应该用于该文档的文件名 - 如果该文档没有保存为该文件名,但应该提示用户这样做(但应该能够更改默认设置)。
我发现两种可能性都不完美(我需要这两种的混合)。
第一种方法:
Application.Dialogs(wdDialogFileSaveAs).Show
打开Save As
对话框,让您更改文件的格式和名称,但默认文件名是旧文件名或标题(直到第一个特殊字符,如空白或-
)的文档(如果尚未保存 - 更改文档的标题没有什么帮助,因为建议的文件名将包含-
)。是否可以更改显示的初始文件名Save As
dialog?
第二种方法:
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
The FileDialog
只会选择一个文件名,所以我们必须明确保存它。
该方法将显示filename
我想要,但是如果用户将后缀更改为例如.pdf
该文件仍将保存在.docx
格式(使用后缀.pdf)。我不打算在这里对情况进行巨大的区分,因为在极少数情况下,用户需要与其他格式不同的格式.docx
。有没有一种简单的方法可以使用第二种方法以正确的格式保存文件?
您是否尝试过将 Call ActiveDocument.SaveAs 行替换为
Application.FileDialog(msoFileDialogSaveAs).Execute
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)