Delete an open Word document

Here’s how to delete the Microsoft Word document you’re currently editing.

Here’s a rather more complex macro you might find useful. This one lets you delete the document you’re currently editing. Word normally won’t let you do this: you must first close the document, then delete it. That’s a sensible safeguard, but sometimes it gets in the way of what you want to do. I find this macro particularly useful when I want to clean out a whole bunch of old documents: I open each one, check the contents and, if I no longer need it, delete it on the spot.

Because you cannot undelete any document you eliminate using this macro, it takes some preliminary precautions:



  • First, the macro checks that there is, in fact, an open document to delete.
  • If there is an open document, it checks that the user really wants to delete it. If not, the macro ends without doing anything else.
  • If the user gives the go ahead to delete the document, the macro checks to see whether the open document has already been saved. If it has, the document is closed and then deleted. If it has not yet been saved, it is simply closed without saving any changes.

Note that this is the barebones version of the macro code. If you would like to see a fully commented and more readably formatted version of the code you can download a copy from www.rosevines.org/grab-bag.

To create the macro:

1. Press Alt+F8 to open the Macros dialog.

2. Type DeleteActiveDocument in the Name box and click Create.

3. Copy and paste the following code between the Sub DeleteActiveDocument()and the End Sub statements:

Dim strFileToDelete As String
Dim docOpen As Document
Dim intDocCount As Integer
intDocCount = 0
For Each docOpen In Documents
intDocCount = intDocCount + 1
Next docOpen
If intDocCount > 0 Then
If MsgBox(“Are you sure you want to delete the open document permanently? ” & _
“You won’t be able to undo this action.”, vbYesNo) = vbYes Then
If Len(ActiveDocument.Path) <> 0 Then
strFileToDelete = ActiveDocument.FullName
ActiveDocument.Close SaveChanges:=False
Kill strFileToDelete
Else
ActiveDocument.Close SaveChanges:=False
End If
End If
Else
MsgBox “There is no open document to delete.”, vbOKOnly
End If

4. Close the Visual Basic editor.

To make the macro easily accessible, add it to the Quick Access Toolbar in Word 2007:

1. Click the arrow at the right end of the Quick Access Toolbar and select More Commands.

2. In the Choose Commands From box, select Macros from the drop-down list.

3. Click the newly created macro (it’s full name is Normal.NewMacros.DeleteActiveDocument) and then click the Add button.

4. Click the Modify button, select an appropriate icon for the macro (there’s a handy one with a cross in a red circle that fits well), type Delete This Doc in the Display Name box and click OK.

To add the macro to a Word 2003 toolbar:

1. Right-click any toolbar and click Customize.

2. On the Commands tab in the Categories list click Macros.

3. Locate Normal.NewMacros.DeleteActiveDocument in the Commands list and click-and-drag it onto a toolbar.

4. Right-click the new button you’ve created, in the Name box type Del (or something else short and descriptive), then click Text Only. If you’d prefer to use a graphic icon instead of a text-label, although none of the default icons is particularly apt you can create your own by selecting Default (instead of Text Only). Then click Edit Button Image, then Clear and then do a quick paint job (a red X works well).

5. Click Close in the Customize dialog box.

If you have any problems running the macro, take a look at the code in the Visual Basic editor and make sure you don’t have any broken lines. That’s the most common cause of problems.