Excel VBA中的文件保存对话框

时间:2017-12-25 04:45:48

标签: excel vba ms-access ms-access-2013 excel-2013

我正在尝试按照此处的教程http://software-solutions-online.com/excel-vba-save-file-dialog-getsaveasfilename/并输入我的代码:

varResult = Application.GetSaveAsFilename(FileFilter:="Excel Files (*.xlsx), *.xlsx")

现在当我编译语法时出现错误:

  

未找到方法或数据Membor

在此特定元素GetSaveAsFilename

我在Access 2013中运行此功能以保存Excel 2013 .xlsx - 我应该更改哪些内容以便提示用户输入保存名称和位置?

2 个答案:

答案 0 :(得分:2)

这种特殊方法在Access VBA中无法使用。 (VBA在Office产品之间不可100%互换。)

Access VBA中的示例:

Sub TestFileDialog()
'requires Reference to "Microsoft Office xx.x Object Library"
    Dim strFilename As String
    With Application.FileDialog(msoFileDialogSaveAs)
        If .Show Then
            strFilename = .SelectedItems(1)
        Else
            MsgBox "No filename specified!", vbExclamation
            Exit Sub
        End If
    End With

    'do something with strFilename

End Sub

这应该适合从Access保存Excel对象。

答案 1 :(得分:0)

本网站上的另一个问题“Save as…” dialog box in MSAccess vba: how?有一些有用的指示可以帮到你;我有类似的问题,这为我解决了!就像ashleedawg所说,VBA语法在不同的应用程序中并不完全相同。

您也可以尝试使用Application.FileDialog msoFileDialogSaveAs,但请确保将包含这些符号的库包含在项目中。最有可能的是,Access将生成一个提示,通知您将库引用添加到项目中。 唯一的问题是您无法应用文件类型过滤器。如果这是重要的事情,请在microsoft论坛上查看本指南。 Display Open and Save As Dialog Boxes in Access with API Functions