当前工作目录暂时为 e:\vb\aaa
e盘中还有个目录是e:\vb\bbb
现在,如何把相对路径"..\bbb" 转换成为 "e:\vb\bbb"程序例子:
'当前工作目录暂时为e:\vb\aaa
a="..\bbb"
'如果让a的结果变成 e:\vb\bbb
e盘中还有个目录是e:\vb\bbb
现在,如何把相对路径"..\bbb" 转换成为 "e:\vb\bbb"程序例子:
'当前工作目录暂时为e:\vb\aaa
a="..\bbb"
'如果让a的结果变成 e:\vb\bbb
调试欢乐多
GetModuleFileName是什么哦?没用过!api 吗?
你也可以把你的问题向这个方向转化
个人感觉,你没必要这么做。如果说两个程序不在同一子目录,但是在同一根目录下的话用"..\bbb"
相对目录 = "..\AAA\1.txt"
Path = 当前目录 & "\" & 相对目录
已知一个当前目录的绝对路径的表达式 CurrentPath,例如CurrentPath="e:\vb\aaa",另外还有一个路径表达式NewPath,例如NewPath="..\bbb"
现在要求NewPath的绝对路径表达式 例如:NewPath="..\bbb" 变为NewPath="e:\vb\bbb"
代码如下:Private Sub Command1_Click()
Dim CurrentPath As String
Dim NewPath As String
CurrentPath = "e:\vb\aaa"
NewPath = "..\bbb"
'以上两个变量可以通过TextBox输入If InStr(NewPath, ":") > 0 Then
'含有“:”如"E:\vb"本身是绝对路径,不处理
NewPath = NewPath
ElseIf InStr(NewPath, "..\") > 0 Then
'含有.\的相对路径
NewPath = Mid(CurrentPath, 1, InStrRev(CurrentPath, "\")) & Mid(NewPath, 4)
ElseIf InStr(NewPath, ".\") > 0 Then
NewPath = CurrentPath & "\" & Mid(NewPath, 3)
End If
MsgBox NewPathEnd Sub