VBA代码帮助打开具有不同名称的文件

时间:2015-07-20 15:17:03

标签: excel-vba vba excel

我制作了一个宏,但似乎无法使其正常工作。 如果我运行宏并选择具有相同类型的多个文件的文件夹中的文件。 它只打开文件夹中的第一个文件。知道我试图打开什么文件,它会重新打开同一个文件。例如。如果我有3个名字的文件 cycle0001,cycle0002,cycle0003当我尝试打开文件003时,它始终打开文件001。代码工作得很好,除了我无法打开我想要的文件。 只有名称中编号最小的文件。

这是我的代码。

Sub jsonDataExtractor()
'
' jsonDataExtractor Macro
' Json Data Extractor
'
' Keyboard Shortcut: Ctrl+t
'

File = Application.GetOpenFilename( _
FileFilter:=" (*.json), *.json", _
Title:="Select a file or files", _
MultiSelect:=True)

Application.ScreenUpdating = False


Workbooks.OpenText filename:= _
"cycle*.json", StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=True, Comma:=True, _
Space:=False, Other:=True, OtherChar:=":", FieldInfo:=Array(Array(1, 9), _
Array(2, 1), Array(3, 1)), TrailingMinusNumbers:=True

1 个答案:

答案 0 :(得分:0)

使用与此类似的代码:

CollectionView

您需要使用Application.GetOpenFilename()

返回的结果

  • 如果MultiSelect:= True ,则可以返回

    1. 布尔值(如果用户取消,则为False)
    2. 或变体数组(文件名),即使用户只选择一个文件

  • 如果MultiSelect:= False ,则可以返回

    1. 布尔值(如果用户取消,则为False)
    2. 或文件名(包括其完整路径)