用CommonDialog調出保存窗口﹐同時我給了預設的文件名﹐可是當給了預設的文件名之后﹐即使按取消按鈕﹐照樣CommonDialog.FileName的屬性還是有值的﹐請問我該用怎樣判斷用戶是按了取消按鈕或保存按鈕。

解决方案 »

  1.   

    你把CancelError设置成true然后按下取消看看
      

  2.   

    1。Private Sub Command1_Click()
        
        Cdlg.CancelError = True
        Cdlg.Action = 1
        Debug.Print Cdlg.FileName
        
    End Sub
    先设Cdlg.CancelError = True,那么如果用户选择了cancel那么会报错的,你可以捕捉错误来判断是否按下cancel
    2。Cdlg.CancelError = false
    判断Cdlg.FileName是否为空,空就是按下cancel
      

  3.   

    謝謝﹐果然解決了問題.不過我還有兩個問題。
    1﹑在我轉出成EXCEL過程當中﹐如果我用CommonDialog獲得的文件名在目標位置已存在﹐它不是先提示問我是否覆蓋﹐而等我將資料寫入EXCEL之后再問我是否覆蓋﹐如果這時我回答"否"的話﹐EXCEL將再次問我是否保存BOOK1之類的話﹐要再次按一下否﹐能不能讓它先提示是否覆蓋﹐然后進行寫資料呢?
    2﹑能否給CommonDialog一個預設目錄?
      

  4.   

    CommonDialog1.InitDir设置默认目录,CommonDialog1.Flags = &H2提示是否覆盖
      

  5.   

    问题: 用commondialog、fso,copyfile之后,工程里ado控件连接的app.path默认路径,变成copyfile的目的地路径!!!