2

我正在使用宏来关闭多个文件,其中一个使用文件名中的当前日期。我需要宏在工作簿中单击,然后将其关闭并保存。我想我几乎拥有它,但我无法在活动工作簿中单击宏,该文件名每天都会更改。这就是我所拥有的。

Dim ClosePath As String
Dim ClosePathDate As String

ClosePath = "File_":
ClosePathDate = ClosePath & Format(Date, "YYYYMMDD") & ".xlsx"

Windows("ClosePathDate").Activate
Sheets("Sheet1").Select
Range("A1").Select
ActiveWorkbook.Close SaveChanges:=True

我不知道如何使用“ Windows("ClosePathDate") ” 我也试过 Windows=ClosePathDate.Activate,没有运气。

请帮忙。

4

1 回答 1

2

即使工作簿在另一个 Excel 实例中打开,这也将起作用。顺便说一句,您不需要选择它来关闭它。

Sub Sample()
    Dim ClosePath As String
    Dim ClosePathDate As String
    Dim xlObj As Object

    ClosePath = "File_":
    ClosePathDate = ClosePath & Format(Date, "YYYYMMDD") & ".xlsx"

    '~~> Replace "C:\" with the relevant path
    Set xlObj = GetObject("C:\" & ClosePathDate)
    xlObj.Application.Workbooks(ClosePathDate).Close SaveChanges:=False
End Sub

另一种方式

Sub Sample()
    Dim wb As Workbook
    Dim ClosePath As String
    Dim ClosePathDate As String

    ClosePath = "File_":
    ClosePathDate = ClosePath & Format(Date, "YYYYMMDD") & ".xlsx"

    Set wb = Workbooks(ClosePathDate)

    wb.Close SaveChanges:=False
End Sub
于 2012-07-24T15:32:18.537 回答