在下面的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
答案 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做什么。使用管理员权限,它会创建一个文本文件。然后尝试在没有非管理员权限的情况下打开该文件。虽然你可以在什么文件夹中进行这项测试。