以下代码适用于DOCX文件,但在DOC文件中提供“拒绝访问”:
Public Sub SaveGraded()
oldnamepath = ActiveDocument.FullName
oldname = GetFileName(ActiveDocument.Name)
oldExtension = getextension(ActiveDocument.FullName)
newname = oldname & "_GRADED" & "." & oldExtension
ActiveDocument.SaveAs filename:=newname
Kill oldnamepath
End Sub
答案 0 :(得分:0)
实际上,这是Word中一些奇怪的事情,它会使.doc文件的打开时间比.docx长得多。
你可以使用一个循环来连续测试删除直到它工作 - 不要使用Kill,因为你不能捕获它,使用VBScript FileSystemObject.DeleteFile(str Name,bool Force),这样更可靠 - 或者您可以使用ActiveDocument.Close并重新打开它。但是我注意到,即使这并不总是有效,你有时必须遵循Application.Quit;再见脚本执行,除非你从外部应用程序自动化它,这就是我所做的。