일부 조건이 충족되면 모든 Excel 통합 문서를 삭제하는 방법을 찾아야하지만 활성 통합 문서는 삭제해야합니다. 나는 VBA를 처음 사용하기 때문에 여기에 아주 기본적인 문제가있을 수 있습니다. (하지만 비슷한 질문은 여기에서 찾을 수 없습니다.) 조건이 잘 작동하지만, VBA는 "살인"부분부터 나를 혼란 kill 명령 가진 어려움이있을 것 같습니다하지 않을 경우의 내부에 넣지 때 완벽하게 작동하는지VBA - 모든 통합 문서를 삭제하지만 활성 상태 인 다음 활성 상태를 닫고 저장하지 마십시오
Sub kill()
Dim wb As Workbook
Dim A As String
A = 2
If A = 1 Then
MsgBox "Everything is fine"
'The if condition is working just fine
Else
Application.DisplayAlerts = False
For Each wb In Application.Workbooks
If Not (wb Is Application.ActiveWorkbook) Then
Application.DisplayAlerts = False
If wb.Path <> vbNullString Then
wb.ChangeFileAccess vbNormal
kill (wb.FullName)
End If
ThisWorkbook.Close SaveChanges:=False
End If
Next
End If
End Sub
: 여기 내 코드는 조건.
제공해 주신 의견을 보내 주셔서 감사합니다.
안부, Maritn
Kill 명령은 파일을 삭제하는 데 사용됩니다. 'wb.Close SaveChanges : = False' –
VBA가 매개 변수 ('kill (wb.FullName)')를 사용하여 서브 루틴을 호출하도록하면 혼란 스럽습니다. 당신의 서브 루틴이 매개 변수를 필요로한다고 지정했습니다 ('Sub kill()'). (자신의 변수 및/또는 프로 시저의 이름으로 VBA 함수/키워드를 사용하지 마십시오.) – YowE3K
열린 파일에서 kill이 작동하지 않습니다. 통합 문서를 삭제하기 전에 닫아야합니다. – h2so4