excel 2010 vba,路径/文件访问错误

时间:2015-12-11 13:58:20

标签: excel vba excel-vba dir

在下面的excel 2010 vba中,如果答案提示为否,则为te文件夹中的文件,则删除该文件夹。但是,当我运行path/file access error时,我收到vba。具体来说,RmDir MyFolder行突出显示,但当我逐步执行代码时,正确的目录出现在变量MyFolder中,我可以将新文件写入目录。我错过了什么?谢谢 :)。

另外,如果我手动导航到目录,我可以将其删除。

iYesNo = MsgBox("Do the patients and barcode match the setup sheet?", vbYesNoCancel)
      Select Case iYesNo
             Case vbYes
             GoTo Line2
             Case vbNo
             MsgBox ("Doesn't match! Please enter again")
             MyFolder = Directory ' delete all txt files in the folder
             MyFile = Dir(MyFolder & "*.*")
             Do Until MyFile = ""
             Kill MyFile
             MyFile = Dir
             Loop

               RmDir MyFolder  ' delete folder
             GoTo Line1
       End Select

2 个答案:

答案 0 :(得分:2)

你最有可能在最后有一个/,阻止你删除该文件夹,请参阅更正。

此外,您可以将Dir(...)更改为仅选择txt个文件,以避免删除其余文件!

以下是代码:

iYesNo = MsgBox("Do the patients and barcode match the setup sheet?", vbYesNoCancel)
Select Case iYesNo
    Case vbYes
        GoTo Line2
    Case vbNo
        MsgBox ("Doesn't match! Please enter again")
        MyFolder = Directory ' delete all txt files in the folder
        MyFile = Dir(MyFolder & "*.txt")
        Do Until MyFile = ""
            Kill MyFile
            MyFile = Dir
        Loop

        RmDir Left(MyFolder, Len(MyFolder) - 1) ' delete folder
        GoTo Line1
End Select

答案 1 :(得分:0)

Excel VBA对文件的访问权限取决于是否使用或不使用管理员权限启动Excel。找到EXCEL.EXE并在有或没有右键单击和运行管理员的情况下启动它。检查你的VBA做什么。使用管理员权限,它会创建一个文本文件。然后尝试在没有非管理员权限的情况下打开该文件。虽然你可以在什么文件夹中进行这项测试。