模拟单击SAVE按钮

时间:2018-03-28 08:22:56

标签: excel vba

我运行一个创建PDF文件的vba子例程 - 所有工作,我现在唯一的问题是我不希望用户必须单击保存按钮并想要在VBA中模拟它。我的代码如下"

Fname = Application.GetSaveAsFilename(ws.Name & "_" & Range("M21") & "_" & _
            VBA.Strings.Format(Now, "ddmmyy"), filefilter:=FileFormatstr, _
            Title:="Create PDF")

不确定我需要添加代码以强制保存

的内容和位置

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您使用的代码 GetSaveAsFilename ,这是它的official document&如果您阅读文档中的第一行,它将说明以下功能:显示标准的“另存为”对话框,并从用户处获取文件名,而不实际保存任何文件。

但您要做的是自动保存文件而不以PDF格式显示对话框。因此,您需要使用 ExportAsFixedFormat ,这样是它的official document

所以,你可以使用这样的东西: -

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF FileName:="sales.pdf" Quality:=xlQualityStandard DisplayFileAfterPublish:=True

要回答你的情况,你需要在程序中使用if else循环来在两种情况之间切换。