您也可以使用 VBS 代替宏。语言几乎相同,您的脚本将独立于您的工作簿。
至于确定使用哪个文件来运行宏(没有数据和代码的示例,很难说得太具体),您可以浏览所需的文件。
Dim objShell
Set objShell = CreateObject("Shell.Application")
Dim strFileName
Dim strFilePath
Dim dPicker
Set dPicker = objShell.BrowseForFolder(0, "Choose a file:", &H4000)
strFilePath = dPicker.self.Path 'will give you the file path of the file you choose,
'which you can then use to open/access the file with
'the data you need.
'Code
Set dPicker = Nothing
如果您想坚持使用宏,您可以查看 FileDialog 对象以在 VBA 中使用文件选择器。
要在 VBA 中获取打开的工作簿的文件名和/或路径,请使用
ActiveWorkbook.Name
ActiveWorkbook.Path
希望这可以帮助!