【发布时间】:2017-07-21 14:16:32
【问题描述】:
我无法将工作簿中的一张工作表保存到 CSV 文件中。我在一个工作簿中有 18 张纸。每次我运行宏时,它都会保存不同的工作表。我也需要它,因此不会弹出显示警报。我是 VBA 的初学者并正在运行宏,因此将不胜感激。
Sub csvfile()
'
' csvfile Macro
'
'
ChDir "C:\Users\RM\Documents"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\RM\Documents\Working_Program\PSSE_Export_Data.csv", FileFormat:= _
xlCSV, CreateBackup:=False
Application.DisplayAlerts = False
End Sub
【问题讨论】:
-
Application.DisplayAlerts = False需要在.SaveAs之前,而不是之后。 -
我相信
ActiveWorkbook.SaveAs会保存当前的活动表。因此,请确保您已激活要先保存的工作表。 -
您可以先将
DisplayAlerts = False之前放在可能显示警报的操作之前,而不是之后。这是常识。你不能在马跑掉后关上谷仓的门,然后指望它神奇地把马放回马厩,对吗? -
CSV 文件是纯文本文件,因此不能保存多张纸的数据。未经测试,我会假设 Excel 仅保存保存为 CSV 时当前可见的工作表
-
您是否考虑过将活动工作表复制到新工作簿,然后将新工作簿另存为 CSV,因为 CSV 将只有一个未格式化的工作表?这将允许您为所有工作表运行一次宏。