求助一个工作簿另存为时只删除其中操作表及宏代码,文件名可自定义

qq_19253595 2018-07-18 11:26:44
xlsm文件能否设置一个功能将文件另存为,同时只删除其中的操作表及宏代码,生成.xls的文件即可
...全文
370 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
舉杯邀明月 2018-07-19
  • 打赏
  • 举报
回复
刚才清理测试文件,发现多了一个文件出来……
原来“类型”参数写错了,应该是 xlOpenXMLWorkbook 。


ThisWorkbook.SaveAs "E:\Temp\TestE", xlOpenXMLWorkbook, CreateBackup:=False
舉杯邀明月 2018-07-19
  • 打赏
  • 举报
回复
上面代码中,给的“文件名”是TestE,保存结果文件是 TestE.xlsx 。
象上面代码第9行那样不给出扩展名,那么不能存在“E:\Temp\TestE”这个文件夹,
  如果有这个文件夹,可能会操作出错, 这个时候应该给定扩展名,写成 E:\Temp\TestE.xlsx
舉杯邀明月 2018-07-19
  • 打赏
  • 举报
回复
参考下面的这段代码。
分别是:如何删除指定工作表、如何指定保存的“格式”。
Sub Main()
Application.DisplayAlerts = False ' 关闭警告提示
' 若不关闭,下面两句执行时会弹出对话框让用户确认
Sheets("Sheet3").Delete ' 删除指定工作表
' 注意下面的“另存为……”操作:
' 1. 文件名为abc、没给扩展名,Excel会自动加上正确的扩展名
' 2. 在“关闭警告提示”的情况下,目标文件存在时也不提示、直接覆盖
ThisWorkbook.SaveAs "E:\Temp\TestE", xlExcel12, CreateBackup:=False
Application.DisplayAlerts = True ' 恢复警告提示
End Sub

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧