这个vb程序为什么在根目录下运行出现“未找到路径”错误?

2024年11月16日 20:38
有2个网友回答
网友(1):

是这样,VB对于路径是这么处理的:如果目标指向某一个盘的根目录,比如C盘,则是“C:\”,最后的那个“\”是有的。如果不是跟目录,则不会有最后的那个“\”,比如C盘下的Windows文件夹中的System32文件夹,则是“C:\Windows\System32”,很闹心是吧。所以如果你把程序放在了根目录下,比如C盘,按照你的代码就成了“C:\\…”显然VB是找不到这个路径的。这里有一个自定义函数,是用来将一个没有以“\”结尾的路径带上“\”,能解决你的问题:
Function MakePath(Path) As String
MakePath = Path & IIF(Right(Path, 1) = "\", "", "\")
End Function
将代码拷到你窗体的通用(声明)中,然后你就将“App.Path & "\原来…"”都改成“MakePath(App.Path) & "原来…"”,包括后面的代码,只要是有相关的语句(不光是App.Path,从dir控件中获得的路径)都要照着我上面的那样改,你的程序就可以在任意目录下运行了。

网友(2):

根目录本身最后一个字符就是\,例如C:\,所以根目录和别的子目录要区别对待,方法:
Dim AppPath As String
AppPath = App.Path & IIf(Right(App.Path, 1) = "\", "", "\")
dir1 = AppPath & "原来文件\"
dir2 = AppPath & "已转换的文件"
..............