VBA Word-具有初始文件名的另存为对话框

心不烦

我有一个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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Word VBA强制另存为.docm

VBA:Word将.docx文件另存为.doc文件,如何另存为docx?

VBA中DOM的另存为或保存对话框

VBA另存为当前文件名+01

Excel VBA 在默认文件夹中将文件另存为 Word 文档

“另存为”对话框的导航窗格中的“ Microsoft Word”条目?

Excel VBA打开Word模板,填充,然后另存为.docx文件

VBA-设置默认另存为名称而不打开对话框

使用 VBA 和对话框以不同的方式另存为 CSV 结果

使用 VBA 将启用宏的工作簿另存为“文件名”+ 当前日期

打开Word模板并将.doc另存为当前工作簿文件夹-Excel中的VBA

如何使用VBA从Word文档中将文本文件另存为UTF-8编码?

Word VBA:静态状态对话框窗口

如何使用AppleScript在Firefox的“另存为”对话框中输入文件名?

Excel for Mac VBA-另存为HTML在文件名中添加了意外的换行符

VBA另存为文件路径

我想在Word中创建VBA代码,该代码将创建多个具有不同文件名的Word文件

VBA Excel 到 Word - 在第二次循环运行时另存为 pdf 失败

使用电子对话框模块和.showSaveDialog时,在“另存为”窗口中填充文件名

如何设置iframe中显示的动态PDF在“另存为...”对话框中显示的文件名

VBA另存为PDF,文件名为单元格值

查找段落的边界框尺寸 (Word VBA)

为什么Word VBA会告诉我一个对话框已打开?

VBA 取消另存为

从VBA中的Word文件创建Excel文件

从 Word 文档表填充 Excel 文件 - VBA

Word VBA-保存多个文件

Word VBA删除带有书签的表

有没有办法使用组合框数据 (VBA) 更改 Word 文档的文件名和电子邮件主题?