要打开commondialog的初始路径为"c:\"。
在其他目录下选中文件后按确定,第二次再打开commondialog,打开的目录路径变为上一次文件所在的目录路径。
我要每次打开的初始路径都是"c:\",该怎么做?我的代码如下:
CmnDlog.CancelError = True
CmnDlog.InitDir = "c:\"
CmnDlog.Flags = cdlOFNHideReadOnly
CmnDlog.FilterIndex = 2
CmnDlog.ShowOpen每次都调用了CmnDlog.InitDir = "c:\",为什么目录还会变?
问题解决立即给分!!

解决方案 »

  1.   

    不会啊:Private Sub Command1_Click()
    Cmndlog.CancelError = True
    Cmndlog.InitDir = "c:\"
    Cmndlog.Flags = cdlOFNHideReadOnly
    Cmndlog.FilterIndex = 2
    Cmndlog.ShowOpen
    MsgBox Cmndlog.FileName
    End SubPrivate Sub Command2_Click()
    Cmndlog.CancelError = True
    Cmndlog.InitDir = "c:\"
    Cmndlog.Flags = cdlOFNHideReadOnly
    Cmndlog.FilterIndex = 2
    Cmndlog.ShowOpen
    MsgBox Cmndlog.FileName
    End Sub
      

  2.   

    不會的呀﹐我每次都是設置的默認路徑﹐以下是我的Code,供參考﹕
        Commondialog_All.CancelError = True
        On Error GoTo Errorhandler
        
        With Commondialog_All
            .FileName = Head & ".xls"
            .InitDir = "C:\"
            .DefaultExt = "xls"
            .DialogTitle = "Save As New Excel Spread"
            .Filter = "MicroSoft Excel 活頁簿(*.xls)"
            .ShowSave
            
         End With
        path = Commondialog_All.FileName
    。。
    。。
    沒問題
      

  3.   

    默认路径如果是c:\的话,你在C:\temp\下选文件按确定,第二次打开commondialog是在C:\temp\下,而不是C:\。
      

  4.   

    在CmnDlog.InitDir = "c:\"后加一句
    CmnDlog.FileName = ""
      

  5.   

    我发现是我代码有问题:
     CmnDlog.CancelError = True
        CmnDlog.InitDir = dstr_InitPath
        CmnDlog.Flags = cdlOFNHideReadOnly
        CmnDlog.Filter = "(*.*)|*.*|" & _
                        "(*.TXT)|*.TXT|"
        CmnDlog.FilterIndex = 2
        CmnDlog.ShowOpen不知道错哪了?
      

  6.   

    yoki(小马哥) 厉害,问题解决了,多谢各位!
      

  7.   

    这是因为CmnDlog.FileName 的值,它默认先按照CmnDlog.FileName 的路径
    你可以在open之前加一句CmnDlog.FileName = ""
    ====================
    CmnDlog.CancelError = True
    CmnDlog.FileName = ""
    CmnDlog.InitDir = "c:\"
    CmnDlog.Flags = cdlOFNHideReadOnly
    CmnDlog.FilterIndex = 2
    CmnDlog.ShowOpen
      

  8.   

    工程-引用-浏览,选择:C:\WINNT\system32\COMDLG32.OCX:Option ExplicitPrivate Sub Command1_Click()
        Dim Cmdlog As New CommonDialog
        Cmdlog.InitDir = "c:\"
        Cmdlog.ShowOpen
        Debug.Print Cmdlog.FileName
        Set Cmdlog = Nothing
    End Sub