当另一个Word实例打开时,无法从VBA宏中删除文件

时间:2015-08-04 16:31:31

标签: vba word-vba kill

此代码位于单词启动菜单中的单词宏模板中。它可以从任何word文档执行。

Dim myFile As String
Dim myPath As String
myPath = ActiveDocument.Path & "\"
myFile = Dir$(myPath & "*Invoice.pdf")

If Len(myFile) > 0 Then
    Debug.Print Len(myFile)
    Debug.Print myFile
    Kill myFile
End If

当我运行此代码时,如果我在打开word文档的这个实例并执行宏时打开了另一个MS Word文件,则会收到错误消息“找不到文件”。

长度> 0 文件名(Greenbriar - Invoice.pdf)是正确的并且存在。 (在任何给定文件夹的文件名中始终只有一个带“发票”的pdf)

如果没有打开其他word文档,我不会收到此错误消息。

即使另一个Word文档打开,如何修改要运行的代码?

提前致谢。

1 个答案:

答案 0 :(得分:1)

ActiveDocument.Path指的是打开时其他文档的目录。 ThisDocument.Path应该引用包含包含代码的模板的目录。请参阅here进行讨论。