【问题标题】:Unable to execute kill function VBA - Run-time error '13'无法执行终止功能 VBA - 运行时错误“13”
【发布时间】:2017-08-09 22:42:19
【问题描述】:

我无法在 Excel 中使用 Visual Basic 执行 Kill 功能。当我运行代码杀死时,我得到 ​​p>

“运行时错误'13'类型不匹配'

有人有什么想法吗?我试过了

Kill("pathname")

Kill "pathname"

我在不同的位置尝试了不同的文件类型,但总是得到相同的错误。

编辑-我现在恢复尝试最简单的宏,但我仍然立即收到错误:

Sub KillFile()
    Dim filetokill As String
    filetokill = "C:\Users\thomas.bennett\Desktop\test.txt"
    VBA.Kill filetokill
End Sub

【问题讨论】:

  • 我不喜欢使用Kill 命令,只是为了澄清一下,pathname 是保存文件名的变量吗?如果是这样,请尝试Kill(pathname)
  • 路径名是变量,还是您实际上在代码中编写了路径?
  • 试试VBA.Kill。听起来您的代码中某处存在命名冲突。 VBA.Kill 会引发同样的错误吗?
  • 您确定错误来自Kill 行吗?
  • 您所说的“立即”是什么意思——您是否在 VBE 调试器中使用 F8 键逐步完成该过程,以查看究竟是哪一行引发了错误?或者当错误出现时,进入调试模式,看看哪一行有问题?

标签: excel vba


【解决方案1】:

这两种方法都应该有效,例如从您的桌面删除文件。

Sub killfile1()

Dim filetokill As String
filetokill = "C:\Users\yourusername\Desktop\test.txt"
Kill filetokill

End Sub

Sub killfile2()

Kill "C:\Users\yourusername\Desktop\test.txt"

End Sub

不过我有一个想法.. 你还没有创建一个名为Kill 的函数或SUB 是吗?我刚刚创建了一个,它并没有禁止它:

Function kill(filename As Integer)

End Function

如果存在这种情况,我在运行任何一个示例宏时都会遇到与您完全相同的错误 (13)。检查您的代码以了解 Kill 的其他用途。

【讨论】:

  • 这两种方法我都试过了,都没有成功。同样的错误不断出现。
  • 我现在在一个全新的工作表中运行此代码以帮助找到原因,但即使在新工作簿中它仍然会出现
  • 我想到了命名错误,但 OP 表明即使显式调用 VBA.Kill 也会引发相同的错误...
  • 我惊呆了,@DavidZemens。我不知道您实际上可以覆盖这样的命令。我刚刚创建了以下内容:Function chr(f): chr = "E": End Function 现在将完全破坏标准 Chr 函数的任何使用。
  • @CLR 是的,如果你这样做,你必须明确地调用VBA.Chr,等等:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多