VBA 使用另存为而不打开文件



有什么方法可以在不打开目标文件的情况下使用ActiveWorkbook.SaveAs

我的主工作簿名为TEC ALOC EXT有一个代码,当它保存时,它会在不同的路径(使用FileFormat:=51(中生成另一个没有宏的文件,称为ALOCACAO TECNICOS。但是这种类型的文件格式也会在最后打开目标文件(ALOCACAO TECNICOS(并关闭TEC ALOC EXT工作表。

这对我不好,因为我想继续改变TEC ALOC SHEET表上的东西。

有没有办法在不打开的情况下保存ALOCACAO TECNICOS

这是我的代码:

Sub CopiarNovaPlanilha()
Application.EnableEvents = False
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs "I:CGPDEOPEX1 - Supervisão10 - Alocação das equipesConsulta AlocadosALOCACAO 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:CGPDEOPEX1 - Supervisão10 - Alocação das equipesConsulta AlocadosALOCACAO 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

最新更新