多工作表导出一个CSV和自动保存没有提示
对macros而言并没有太多的工作, 我search了一下,发现了我需要做的一些类似的事情,但不是确切的,想知道有没有人能帮忙。
对于工作,我有一个Excel工作簿与多个工作表,一张我创build一个副本,并保存为CSV,因为我们的工作程序将只接受TXT格式或CSV格式,所以必须保存每次我们要导入数据。 我基本上希望有一个数据表自动保存在文件夹中的csv文件,将保存没有提示,所以程序可以自动从它导入数据。
谢谢你的帮助
最简单的解决scheme是使用Worksheet.Copy :
如果您不指定之前或之后,Microsoft Excel将创build一个新的工作簿,其中包含复制的工作表对象包含复制的工作表对象。 新创build的工作簿包含Application.ActiveWorkbook属性(Excel)属性并包含一个工作表。
单个工作表保留源工作表的Worksheet.Name属性(Excel)和Worksheet.CodeName属性(Excel)属性。
如果被复制的工作表在VBA项目中保存了一个工作表代码表,那么这个工作表也被带入新的工作簿中。
尝试:
Option Explicit Sub Main() ' Call your Sub CopySheet2CSV ThisWorkbook.Sheets("Tabelle1") End Sub Sub CopySheet2CSV(ws As Worksheet) ws.Copy ActiveWorkbook.SaveAs Filename:="C:\Users\b036081\NoBackupData\" & ws.Name & ".csv", _ FileFormat:=xlCSV, CreateBackup:=False ActiveWindow.Close Savechanges:=False End Sub
利用.Copy
方便地将ActiveWorkbook
设置为包含您的单个工作表的新创build的工作簿。
将其另存为csv,然后closures它,从而返回到您的源工作表。
注意:不要明确地closures所有提示。 相反,省略通过设置CreateBackup:=False
时手动执行此操作的两个标准提示CreateBackup:=False
保存时Savechanges:=False
,closurescsv工作簿时为Savechanges:=False
。
这样,在文件存在或出现错误的情况下,仍会提示您。