在上一篇文章中,我们介绍了一下GetOpenFilename方法的参数设置,其中涉及到文件多选MultiSelect这一参数。
Excel VBA系列之GetOpenFilename方法的参数设置 - 简书
以下是对此参数进一步的详解。
1. 当设置文件多选MultiSelect参数为TRUE后,选中多个文件后,GetOpenFilename方法返回的会是一个数组对象。
2. 因此在定义时,我们需要定义其为数组,且将GetOpenFilename方法返回的值赋给arr。
3. 如何得知返回的为数组,我们可以将其返回到工作表的单元格中测试一下;此处用到的代码是Range("A1:B1") = arr。
执行以上代码后,我们选择其中两个文件,然后点击“打开”。
在A1和A2单元格里即可得到返回的文件路径。
4. 在以上代码中所得到的arr数组,与一般情况下的数组有些不同,一般来说arr(0)可以返回数组中的第一个值,而在此处arr(1)返回的才是选中的所有文件的第一个文件:Workbooks.Open arr(1)。
选择多个文件。
选择的第一个文件打开。
5. 打开所有选择的文件的代码。
Sub test()
Dim arr()
Dim wb As Workbook
arr = Application.GetOpenFilename("所有Excel文件,*.xls*", , , ,True)
If arr(1) <> "False" Then
For i = LBound(arr) To UBound(arr)
Set wb = Workbooks.Open(arr(i))
Next
End If
End Sub
执行以上代码,选择多个文件,单击“打开”。
所选择的文件均已打开。
通过以上Excel VBA的代码即可选取某文件夹下的文件并进行操作。
相关文章: