【发布时间】:2016-09-14 08:04:39
【问题描述】:
我正在使用 Excel 2013 宏从用户选择的工作簿中提取数据,而我的 vba 有点生疏了。
Application.GetOpenFilename 提示用户输入文件位置,打开文件并返回一个字符串。 Workbooks.Open(string) 返回工作簿 - 如果您事先知道名称。
我想结合这些来询问用户要打开哪个文件,并返回一个工作簿。
根据 Frank 在此处的回答 (Open a workbook using FileDialog and manipulate it in Excel VBA),我已经尝试过:
Function openDataFile() As Workbook
'
Dim wb As Workbook
Dim filename As String
Dim fd As Office.FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.AllowMultiSelect = False
fd.Title = "Select the file to extract data"
'filename = fd.SelectedItems(1)
Set wb = Workbooks.Open(fd.SelectedItems(1))
openDataFile = wb
End Function
但这会落在带有Run-time error '5': Invalid procedure call or argument.的注释行上
如何提示用户打开 excel 文件,并将对它的引用作为工作簿返回?
【问题讨论】:
-
试试我下面回答中的代码
标签: excel excel-2013 vba