当前工作目录暂时为 e:\vb\aaa
e盘中还有个目录是e:\vb\bbb
现在,如何把相对路径"..\bbb" 转换成为 "e:\vb\bbb"程序例子:
'当前工作目录暂时为e:\vb\aaa
a="..\bbb"
'如果让a的结果变成 e:\vb\bbb

解决方案 »

  1.   

    App.Path返回应用程序路径名。
      

  2.   

    楼上的大哥,app.path 只能返回应用程序路径,就算是用也是形成 e:\vb\aaa\..\bbb 的格式。
    GetModuleFileName是什么哦?没用过!api 吗?
      

  3.   

    最好把问题说的更明确一点,app.path 返回应用程序路径   一般情况下应该都够用的
    你也可以把你的问题向这个方向转化
      

  4.   

    一般来说app.path完全足够用了。还有程序中要避免使用绝对路径,尽量都要使用相对路径。
    个人感觉,你没必要这么做。如果说两个程序不在同一子目录,但是在同一根目录下的话用"..\bbb"
      

  5.   

    当前目录 = App.Path
    相对目录 = "..\AAA\1.txt"
    Path = 当前目录 & "\" & 相对目录
      

  6.   

    明白了楼主的意思:
    已知一个当前目录的绝对路径的表达式 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
      

  7.   

    看了半天没明白楼主的意思,是不是查找目录bbb的路径啊?相对路径也好,绝对路径也好,不都是同一个字符串吗?