我试图找到答案,但似乎没有一个在线答案。
代码示例:
dim wb_name as string
wb_name = range("A1").value & ".xlsx"
set wb = workbooks(wb_name)
答案 0 :(得分:1)
您可以采用通配符方法。
Dim wb_name as String
wb_name = Range("A1").Value & ".****"
Set wb = Workbooks(wb_name)
答案 1 :(得分:1)
您可以循环浏览打开的工作簿:
{{1}}
使用set wb = getwb(wb_name)调用它
在继续操作之前,只需检查wb仍然不是空的
答案 2 :(得分:0)
您可以使用选择大小写来确定Excel版本和文件扩展名/格式
If Val(Application.Version) < 12 Then
'You use Excel 97-2003
FileExtStr = ".xls": FileFormatNum = -4143
Else
'You use Excel 2007-2016
Select Case wb.FileFormat
Case 51: FileExtStr = ".xlsx": FileFormatNum = 51
Case 52:
If .HasVBProject Then
FileExtStr = ".xlsm": FileFormatNum = 52
Else
FileExtStr = ".xlsx": FileFormatNum = 51
End If
Case 56: FileExtStr = ".xls": FileFormatNum = 56
Case Else: FileExtStr = ".xlsb": FileFormatNum = 50
End Select
End If
这里是2个示例
Use VBA SaveAs in Excel 2007-2016 - Ron de Bruin Excel Automation