如何创build一个CSV文件,如果它不存在?
我试图让Excel检查一个CSV文件的存在,如果它不存在,创build它。 我尝试了几种方式,但我似乎无法得到任何工作。 这是我的代码到目前为止。
If Dir("C:\Users\" & sUserName & "\Desktop\DataDump\") = "" Then MkDir "C:\Users\" & sUserName & "\Desktop\DataDump\" Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets If ws.Name = MyCell.Value Then ws.SaveAs "C:\Users\" & sUserName & "\Desktop\DataDump\DataDump.csv", xlCSV Workbooks.Open Filename:="C:\Users\" & sUserName & "\Desktop\DataDump\DataDump.csv" Cells.Select Selection.Delete ActiveWorkbook.Close True LastRowCusip = ActiveSheet.Cells(ActiveSheet.Rows.Count, "BW").End(xlUp).Row Set Rng = Range("BG5:BW" & LastRowCusip) Workbooks.Open Filename:="C:\Users\" & sUserName & "\Desktop\DataDump\DataDump.csv" LR = Cells(Rows.Count, "A").End(xlUp).Row + 3 'last used row Rng.Copy Range("A" & LR) ActiveWorkbook.Close True End If Next End If
只要我到了这一行:
Workbooks.Open Filename:=“C:\ Users \”&sUserName&“\ Desktop \ DataDump \ DataDump.csv”
Excelclosures!
我所要做的就是testing一个CSV文件的存在,并且它不存在,根据每个用户的sUserName(来自这里)在用户的桌面上创build它。
sUserName = Environ$("username")
有人能帮我做这个工作吗? 谢谢!!!
您需要先从工作簿中复制工作表。
更改这些行:
ws.SaveAs "C:\Users\" & sUserName & "\Desktop\DataDump\DataDump.csv", xlCSV Workbooks.Open Filename:="C:\Users\" & sUserName & "\Desktop\DataDump\DataDump.csv"
到以下几行
ws.Copy ActiveWorkbook.SaveAs "C:\Users\" & sUserName & "\Desktop\DataDump\DataDump.csv", xlCSV
将worksheet
另存为CSV时,会将整个活动工作簿保存到该文件并保持打开状态。 所以,在你的代码中,你正试图打开一个已经打开的文件。
上面的代码将工作表拖入一个新的工作簿中,并将其另存为一个CSV(CSV只需要一个工作表)。