【问题标题】:vba using save as without opening the filevba 使用另存为而不打开文件
【发布时间】:2017-07-21 16:08:41
【问题描述】:

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

我的名为TEC ALOC EXT 的主工作簿有一个代码,当它被保存时,它会在名为ALOCACAO TECNICOS 的不同路径(使用FileFormat:=51)中生成另一个没有宏的文件。但这种类型的 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

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    一种方法是这样...

    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
    

    【讨论】:

    • 谢谢,我都打开了,我只需添加行 Workbooks("ALOCACAO TECNICOS").Close 即可关闭新副本 :)
    • @paulinhax 不客气!我很高兴它对你有用。 :)
    【解决方案2】:

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

    第一个链接将向您展示如何设置 excel 以使用它。

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

    此链接将更详细地描述 FSO 库并告诉您一些有关方法的信息。应该给你足够的开始

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-20
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多