vba使用保存而不用打开文件

有没有办法使用ActiveWorkbook.SaveAs而不打开目标文件?

我的主要工作手册TEC ALOC EXT有一个代码,当它被保存时,它会生成另一个没有macros的文件(使用FileFormat:=51 ),称为ALOCACAO TECNICOS 。 但是这种types的FileFormat最后还会打开目标文件( ALOCACAO TECNICOS ),并closuresTEC ALOC EXT工作表。

这对我不好,因为我想不断改变我的TEC ALOC SHEET表格。

有什么办法可以保存ALOCACAO TECNICOS而不打开它?

这是我的代码:

 Sub CopiarNovaPlanilha() Application.EnableEvents = False Application.DisplayAlerts = False ActiveWorkbook.SaveAs "I:\CGP\DEOPEX\01 - Supervisão\10 - Alocação das equipes\Consulta Alocados\ALOCACAO TECNICOS", FileFormat:=51 ActiveWorkbook.Sheets(1).Name = "FUNCIONARIOS" Application.EnableEvents = True Application.DisplayAlerts = True End Sub 

这是由AfterSave事件触发的:

 Private Sub Workbook_AfterSave(ByVal Success As Boolean) If Success Then Call CopiarNovaPlanilha End If End Sub 

一种方法是…

 Sub CopiarNovaPlanilha() Application.EnableEvents = False Application.DisplayAlerts = False ActiveWorkbook.Sheets.Copy ActiveWorkbook.SaveAs "I:\CGP\DEOPEX\01 - Supervisão\10 - Alocação das equipes\Consulta Alocados\ALOCACAO TECNICOS", FileFormat:=51 ActiveWorkbook.Sheets(1).Name = "FUNCIONARIOS" Application.EnableEvents = True Application.DisplayAlerts = True End Sub 

这里有一个网站,应该可以帮助你通过使用FileSystemObject库来完成你所需要的。 这将使您能够从一个位置复制到另一个位置,而无需实际打开文件。

拳头链接将告诉你如何设置Excel来使用这个。

http://www.wiseowl.co.uk/blog/s210/filesystemobject.htm

这个链接将更详细地描述FSO库,并告诉你一些方法。 应该给你足够的开始

http://www.wiseowl.co.uk/blog/s212/files-folders-vba.htm