有没有办法在不打开目标文件的情况下使用ActiveWorkbook.SaveAs
?
我的主要工作簿TEC ALOC EXT
有一个代码,当它被保存时,它生成另一个没有宏的文件,在另一个路径中(使用FileFormat:=51
)称为ALOCACAO TECNICOS
。但是这种类型的FileFormat也会在最后打开目标文件(ALOCACAO TECNICOS
)并关闭TEC 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
答案 0 :(得分:3)
这是一种方式......
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
答案 1 :(得分:2)
这是一个网站,可以帮助您通过使用FileSystemObject库来完成您的需求。这样您就可以从一个位置复制到另一个位置,而无需实际打开文件。
第一个链接将向您展示如何设置excel以使用它。
http://www.wiseowl.co.uk/blog/s210/filesystemobject.htm
此链接将更详细地描述FSO库并告诉您一些方法。应该给你足够的开始