将报告保存为pdf

时间:2016-04-07 12:12:32

标签: vba ms-access dialog access-vba

以下代码附加到报表上的button_click。我想以用户选择的名称保存报告。

Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogSaveAs)
fd.Show

运行时,弹出“另存为”对话框,但不保存文件。我错过了一步吗?

2 个答案:

答案 0 :(得分:1)

您还应该调暗一个名为notCancel的布尔值,将其设置为等于.Show,然后使用If语句,使用.Execute,以下代码显示:

Sub SaveFile()
    Dim fd As FileDialog
    Dim notCancel As Boolean
    Set fd = Application.FileDialog(msoFileDialogSaveAs)
    With fd
        notCancel = .Show
        If notCancel Then
            .Execute
        End If
    End With
End Sub

答案 1 :(得分:1)

接下来,您应该将报告导出为pdf。将行fd.Show替换为:

If fd.Show then 
    DoCmd.OutputTo acOutputReport, "ReportNameHere", "PDF Format (*.pdf)", fd.SelectedItems(1), True
End IF

最后一个参数 True 是在导出后打开pdf。如果不需要请删除。
注意:fd.SelectedItems(1)是用户选择的文件。