我已经在一个单独的excel上建立了一个宏,该宏可以处理源工作簿并使用新数据创建另一个宏,新数据应位于srcFolder
中,而结果文件应位于outFolder
上。 / p>
当前,我以这种方式调用文件:
Set srcBk = Application.Workbooks.Open("sourceBook.xlsm")
并且输出文件位于宏所在的同一文件夹中。我无法进行的工作是使宏成为文件和文件夹的“名称证明”。理想情况下,用户将文件放在文件夹中并运行宏而无需关心名称或文件扩展名(它始终是.xls,.cls等文件),还可以将宏文件夹(包含进出文件夹)拖入其内部pc,但使用*
调用文件并仅设置一个文件夹不起作用,找不到文件。
Set srcBk= Application.Workbooks.Open("\srcFolder\*.*")
Set srcBk = Application.Workbooks.Open(ActiveWorkbook.Path & "\srcFolder\*.*")
编辑:尝试使用Application.FileDialog
Dim bkDir As Office.FileDialog
Dim srcBk As Workbook
Set bkDir = Application.FileDialog(msoFileDialogFilePicker)
With bkDir
.AllowMultiSelect = False
.Title = "Seleccione archivo fuente:"
.Filters.Clear
If .Show = True Then
bkDir = Dir(.SelectedItems(1))
Set srcBK = Application.Workbooks.Open(bkDir)
End If
End With