多工作表导出一个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

这样,在文件存在或出现错误的情况下,仍会提示您。