2

マクロを使用して複数のファイルを閉じていますが、そのうちの1つはファイル名に現在の日付を使用しています。ブックをクリックして閉じ、保存するマクロが必要です。私はほとんどそれを持っていると思いますが、アクティブなワークブックをクリックするマクロを取得できません。ファイル名は毎日変更されます。これは私が持っているものです。

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 に答える