excel - 通过 VBA 检测 Excel 文件格式类型
问题描述
我正在尝试将xlsx
工作表导入到xls
工作簿中,但遇到了关于行数xlsx
大于xls
. 我想在我的宏的开头添加一个检查,该检查在打开的工作簿中检测到xls
,然后另存为xlsx
并以新格式重新打开。
我相当肯定我可以通过检查“文件扩展名”来做到这一点,但我会感觉更好地利用 Excel/VBA 中内置的某种功能,它可以检测文件是否是“Excel 97-2003”风格的工作簿,因为用户可以只需更改文件扩展名而不更改文件类型。有没有办法以编程方式检查workbook
当前打开的类型?ActiveWorkbook
.
我没有任何代码可以分享,因为我能找到的所有代码都与检查文件是否打开或检查文件扩展名等有关。也许我的 google-fu 今天关闭了,但我在搜索中没有得到任何相关信息所以我什么都没试过。
解决方案
我会使用该Workbook.FileFormat
属性:
返回工作簿的文件格式和/或类型。只读XlFileFormat
If ActiveWorkbook.FileFormat = xlExcel8 Then
ActiveWorkbook.SaveAs fileFormat:=xlOpenXMLWorkbook
End If
推荐阅读
- javascript - React 子组件在父组件中更新状态后如何将其重置回原始状态
- java - Android:使用 OkHttpClient 执行 AsyncTasks
- mysql - mysql日期范围查询,当字段没有为'between'语句发送任何内容时
- sql - 使用 SQL 在具有重复数据的表之间插入
- javascript - React 功能组件 - useState / useCallback - 值变回 / 提交时恢复为初始值
- extjs - ExtJs - 自定义类解析
- c# - MM-dd-yyyy 到 Julian yyddd
- plotly - 绘图表不显示带空格的单词
- python - 为什么所有标签都没有在 matplotlib 中正确显示?
- javascript - 从另一个函数解析一个函数内部的promise