いくつかの条件が満たされた後、すべての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' –
あなたがパラメータを持つサブルーチン(' kill(wb.FullName) ')を呼び出すようにVBAに指示することで、あなたは確かに混乱します。あなたのサブルーチンがパラメータを必要とすることを指定しました( 'Sub kill()')。 (自分の変数やプロシージャーの名前としてVBA関数/キーワードを使用しないでください。) – YowE3K
開いているファイルに対してkillは機能しません。削除する前にブックを閉じる必要があります。 – h2so4