[请问] vbs程序呼叫或引数不正确

楼主: vernc (cralvin)   2023-04-12 12:09:22
Dim fso, folder, files
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("R:\e") ' 取代为目标目录的路径
Set files = folder.Files
msgbox files.Count
If files.Count > 0 Then ' 检查目录下是否有档案
files(files.Count - 1).Delete ' 删除目录下最后一个档案
End If
Set files = Nothing
Set folder = Nothing
Set fso = Nothing
GPT写的,第8行出问题
WScript.Echo files.Item(0).Name
上面这行也"程序呼叫或引数不正确"
那位教教是那出错?
thx
作者: eva19452002 (^^)   2023-04-12 21:11:00
可以请chatgpt帮你debug
作者: spfy (spfy)   2023-04-12 22:39:00
我不会VB 这好像也不算小软件版的业务 但看起来有可能是files.Item已经没有物件了你还取0就直接错误
作者: kobe8112 (小B)   2023-04-13 11:18:00
楼上是错误的,前一行有用if判断集合内有物件才会进去VBA里面你用FileSystemObject取到的File Collection不可以用索引进行存取,键值是档案路径的字串我不会VB,所以我只会用笨蛋解法你原先程式码取得File Collection后,使用Foreach方式将每个档案放到自己额外宣告的Collection物件即可另外记得你如果要用索引存取,是从1开始,不是从0类似这样: https://i.imgur.com/1IELCRx.png

Links booklink

Contact Us: admin [ a t ] ucptt.com