VBAclosures空白工作簿

我之前发现了这个问题,但没有回答。 我有一些VBA代码格式不同的文件,并将其输出到Excel电子表格,然后将副本保存到两个不同的目录。 然而,我遇到的麻烦是它留下了一个空的工作簿打开,我不知道如何closures它。 我已经尝试了Workbooks.Close和Application.Quit,但都没有工作。 任何帮助将不胜感激。 这里是我所指的代码的一部分:

sSaveAsFilePath = "\\Filesrv02\test\remit" + ".csv" sSaveAsFilePath2 = "\\Filesrv02\backup\remit" + Format(Date, "mmddyy") + ".csv" Application.DisplayAlerts = False ChDir "\\Filesrv02\test" ActiveWorkbook.SaveAs FileName:=sSaveAsFilePath, _ FileFormat:=xlCSV, CreateBackup:=False 'ActiveWorkbook.Close False ChDir "\\Filesrv02\Backup" ActiveWorkbook.SaveAs FileName:=sSaveAsFilePath2, _ FileFormat:=xlCSV, CreateBackup:=False ActiveWorkbook.Close True Application.DisplayAlerts = False MsgBox ("done") End Sub 

由于您只是从工作簿中复制工作表以保存在不同的位置,因此您可以将该工作表复制出工作簿并将其保存到其他位置。 这将使原来的工作簿保持原样,并且不会形成神秘的空白工作簿。 另请注意,我如何使用variables限定所有工作簿和工作表。

 sSaveAsFilePath = "\\Filesrv02\test\remit" + ".csv" sSaveAsFilePath2 = "\\Filesrv02\backup\remit" + Format(Date, "mmddyy") + ".csv" Application.DisplayAlerts = False Dim wb As Workbook, wbC As Workbook, ws As Worksheet Set wb = ThisWorkbook Set ws = ws.Sheets("mySheet") 'change name as needed 'create and save test version ws.Copy Set wbC = ActiveWorkbook With wbC .SaveAs Filename:=sSaveAsFilePath, FileFormat:=xlCSV, CreateBackup:=False .Close End With 'create and save backup version ws.Copy Set wbC = ActiveWorkbook With wbC .SaveAs Filename:=sSaveAsFilePath2, FileFormat:=xlCSV, CreateBackup:=False .Close End With Application.DisplayAlerts = False MsgBox ("done") 

保存之前创build一个新的工作簿

  Application.Workbooks.Add ActiveWorkbook.SaveAs FileName:=sSaveAsFilePath, _ FileFormat:=xlCSV, CreateBackup:=False ActiveWorkbook.Close False