2012-07-24 7 views
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 

내가 "윈도우 ("ClosePathDate을 ")"를 사용하는 방법을하지 확신 또한 윈도우 = ClosePathDate.Activate, 행운을 시도했다.

도와주세요.

+0

이 다른 창 확인을 닫습니다 마십시오 또 다른 방법은? – JMK

+0

Windows (ClosePathDate). 활성화? – grantnz

답변

2

통합 문서가 다른 Excel 인스턴스에서 열려있는 경우에도 작동합니다. BTW, 그것을 닫으려면 그것을 선택할 필요가 없습니다.

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 
+0

닫기를 쉽게 완료 할 수있는 명령이 있습니까? –

+1

예. 'Application.Quit'. 그러면 Excel이 닫히고 저장되지 않은 작업을 저장할지 묻는 메시지가 나타납니다. 이러한 경고없이 종료하려면 .'Quit' 명령을 실행하기 전에'Application.DisplayAlerts = False'를 사용할 수 있습니다. –

+0

은 훌륭하게 작동합니다. 매크로를 모두 실행하는 Excel 인스턴스를 닫는 방법이 있습니다. Application.Quit는 단지 빈 엑셀을 열어 둡니다. –

관련 문제