Excel 在getopenfilename中仅返回文件名
有没有办法从这个语句中提取文件名?我正试图从这条语句中提取文件名,以便继续编码 基本上,我尝试打开多个工作簿,并根据工作簿的名称打开多个工作表Excel 在getopenfilename中仅返回文件名,excel,vba,excel-2010,Excel,Vba,Excel 2010,有没有办法从这个语句中提取文件名?我正试图从这条语句中提取文件名,以便继续编码 基本上,我尝试打开多个工作簿,并根据工作簿的名称打开多个工作表 strWorkbookNameAndPath = Application.GetOpenFilename _ (FileFilter:=strFilt, _ FilterIndex:=intFilterIndex, _ Title:=strDialogueFileTitle, _
strWorkbookNameAndPath = Application.GetOpenFilename _
(FileFilter:=strFilt, _
FilterIndex:=intFilterIndex, _
Title:=strDialogueFileTitle, _
MultiSelect:=True)
fileArraySize = UBound(strWorkbookNameAndPath, 1)
nameArr = Split(strWorkbookNameAndPath, "\")
strName = nameArr(UBound(nameArr))
Worksheets.Add().Name = strName
For i = 1 To fileArraySize
Set wkbImportedWorkbook = Workbooks.Open(strWorkbookNameAndPath(i))
Set wksImportedWorksheet = wkbImportedWorkbook.Sheets("Sheet1")
With wksImportedWorksheet
lrow = .Range("A" & .Rows.count).End(xlUp).Row
Set rngImportCopyRange = .Range("A1:A" & lrow).EntireRow
rngImportCopyRange.Copy
wksMasterWorksheet.Range("A" & Rows.count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End With
wkbImportedWorkbook.Close
Set wkbImportedWorkbook = Nothing
Set wksImportedWorksheet = Nothing
Next i
添加此代码:
dim nameArr
dim strName as string
nameArr = Split(strWorkbookNameAndPath, "\")
strName = nameArr(UBound(nameArr))
编辑:
strWorkbookNameAndPath = Application.GetOpenFilename _
(FileFilter:="", _
FilterIndex:=0, _
Title:="", _
MultiSelect:=True)
fileArraySize = UBound(strWorkbookNameAndPath, 1)
For i = 1 To fileArraySize
nameArr = Split(strWorkbookNameAndPath(i), "\")
strName = nameArr(UBound(nameArr))
Worksheets.Add().Name = strName
Set wkbImportedWorkbook = Workbooks.Open(strWorkbookNameAndPath(i))
Set wksImportedWorksheet = wkbImportedWorkbook.Sheets("Sheet1")
With wksImportedWorksheet
lrow = .Range("A" & .Rows.Count).End(xlUp).Row
Set rngImportCopyRange = .Range("A1:A" & lrow).EntireRow
rngImportCopyRange.Copy
wksMasterWorksheet.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End With
wkbImportedWorkbook.Close
Set wkbImportedWorkbook = Nothing
Set wksImportedWorksheet = Nothing
Next i
检查: