我正在尝试按照此处的教程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 - 我应该更改哪些内容以便提示用户输入保存名称和位置?
答案 0 :(得分:2)
这种特殊方法在Access VBA中无法使用。 (VBA在Office产品之间不可100%互换。)
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。