VBA Makro另存为csv

VBA Makro另存为csv,vba,Vba,我想编写一个VBA makro,将选定的excel工作表保存为csv文件。我收集了什么来了解: Dim WS As Excel.Worksheet Dim SaveToDirectory As String Dim CurrentWorkbook As String Dim CurrentFormat As Long CurrentWorkbook = ThisWorkbook.FullName CurrentFormat = ThisWorkbook.FileFormat SaveT

我想编写一个VBA makro,将选定的excel工作表保存为csv文件。我收集了什么来了解:

Dim WS As Excel.Worksheet
Dim SaveToDirectory As String

Dim CurrentWorkbook As String
Dim CurrentFormat As Long

CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat

  SaveToDirectory = "G:\...\Create csv\" & Format(Date, "YYYYMMDD") & "_csv Save" & "\"

  If Len(Dir(SaveToDirectory, vbDirectory)) = 0 Then
    MkDir SaveToDirectory
  End If

  For Each WS In ThisWorkbook.Worksheets
    If WS.Name = "Government_debt" Or WS.Name = "Domestic_demand" Or (...) Then
        WS.SaveAs SaveToDirectory & WS.Name, xlCSV
    End If
  Next
我需要什么来完成它

我需要日期后的时间,以防我需要一天运行两次makro。 YYYYMMDDHHMM作为解决方案为我提供20150428000 我想以这种方式创建目录,它是文件的文件夹,makro在其中。我已经尝试了CurDir和Application.ActiveWorkbook.Path,但没有成功 我想排除一些excel工作表,而不是只选择要保存的工作表。我有一些计算表。。。我不需要。我该怎么做呢。
提前谢谢

宏是否与保存为CSV的图纸位于同一电子表格中?如果是这样,则宏文件是ThisWorkbook而不是ActiveWorkbook。不,很遗憾不是。要保存不以calc_开头的工作表,可以使用循环If not WS.Name,如calc_*Then。。。。这样,您就不必使用所需的工作表名称进行大量的或语句。谢谢,我忘记了另一种创建循环的方法。不,不幸的是,根据我之前的评论,这不能很好地解释问题2。不在同一个电子表格中的宏通常比结合它们和有限的信息设计得更好。所以我不会说不幸。