Can't delete file?!!?

E

Ed from AZ

I'm running a macro in XL2007 in Vista which is manipulating a Word
document. At the end of everything, I want to delete the Word file.
The Word file has been properly saved through VBA unsing SaveAs - it
exists and I use the object to set ranges and such, so it's definitely
a good file.

But I can't delete it. I'm trying Kill and I'm trying
FSO.DeleteFile. For some reason, my computer keeps flipping my file
paths between C:\Users and C:\Documents and Settings, so I created two
strings and am using both operations on both strings. Debug.Print
shows good file paths. But the file won't go away!!

Any help is greatly appreciated!
Ed

On Error Resume Next
'Delete Word doc
strPath = objDoc.FullName
strFile = Replace(strPath, "Users", "Documents and Settings")

Debug.Print strPath
Debug.Print strFile
Stop
Stop

objDoc.Close SaveChanges:=wdSaveChanges
x = 0
Do
x = x + 1
objFSO.DeleteFile strPath, True
objFSO.DeleteFile strFile, True
Kill strPath
Kill strFile
If objFSO.FileExists(strPath) = False Then
If objFSO.FileExists(strFile) = False Then
Exit Do
End If
End If

If x = 6 Then
MsgBox "This program created a Word file." & _
vbCrLf & "Please delete this file."
Exit Do
End If
Loop
 
E

Ed from AZ

Further piddling shows that when I remove
objDoc.Close SaveChanges:=wdSaveChanges
from the On Error Resume Next, it throws an error.

So the file won't delete because it's still open. That's solved.
Now - why won't it close??

I will continue playing - any helpful drop-kicks are always
appreciated.
Ed
 
J

Jay Freedman

It would be useful to know the exact wording of the error message. There are
lots of possible causes -- the most common one is insufficient rights in the
folder where the file is stored.

--
Regards,
Jay Freedman
Microsoft Word MVP
Email cannot be acknowledged; please post all follow-ups to the newsgroup so
all may benefit.
 
M

mcescher

Further piddling shows that when I remove
    objDoc.Close SaveChanges:=wdSaveChanges
from the On Error Resume Next, it throws an error.

So the file won't delete because it's still open.  That's solved.
Now - why won't it close??

I will continue playing - any helpful drop-kicks are always
appreciated.
Ed


So, what is the value of wdSaveChanges? Is that a valid value for
SaveChanges? Are there other required parameters that you're
missing? Have you take the two Stop statements out?

Hope this helps,
Chris M.
 
E

Ed from AZ

The error message was simply: "Method SaveAs of object Document not
available."

Aware that I'm using Excel VBA to run Word, I broke it up a bit into
objDoc.Save and then objDoc.Close.

The Save threw an error. I hit Debug, checked a variable, then hit F8
to run back over the line and get the error message. It ran the line
and continued on.

I'm assuming I've got some background processes on my machine that are
slowing down file operations. Maybe I've got too much going on in
this macro with Word, Excel, and FSO. Anyway, I wrapped the Save in a
loop like this:

x = 0
On Error Resume Next
Do
x = x + 1
objDoc.Save
If x = 6 Then
If objDoc.Saved = False Then
MsgBox "Doc won't save!"
Exit Do
End If
End If
Loop While objDoc.Saved = False

objDoc.Close wdDoNotSaveChanges

Saves just fine on the second time (so far), then closes and deletes.

So all is good. Glad I found this on my machine, because it would
have given me fits if it worked okay on mine but not for someone else.

Thank you, Jay and Chris, for the support.
Ed
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top