我用CommonDialog控件,保存文件时,我要覆盖已经有的文件名!
现在出现的问题是:保存后,文件在原文件的下面写出,而原文件还在,请各位大侠帮帮忙!

解决方案 »

  1.   

    CommonDialog控件里有删除原文件的属性吗?
      

  2.   

    确定以后先加个kill语句就是了
      

  3.   

    其实,在对commonDialog初始化时,只需要给上特定的Flags属性标记就行了。
    当Flags=cdlOFNOverwritePrompt时,即会出现同名文件覆盖框。            With ComDlg
                    .FileName = ""
                    .Filter = "Excel文件(*.xls)|*.xls|HTML文档(*.html)|*.htm"
                    .DialogTitle = "导出客户档案为"
                    .InitDir = GetFolderPath("MYDOCUMENTS")
                    .Flags = cdlOFNOverwritePrompt
                    .ShowSave
                    
                    .CancelError = True
                    strTmp = .FileName
                    If strTmp <> "" Then
                        '导出到Excel文件
                        If Dir(.FileName) Then Kill .FileName
                        strSQL = "Select * into [Excel 8.0;DataBase=" & strTmp & "].[Customers]" & "from Customers"
                        Flcon.Execute strSQL, , adCmdText
                        Stb1.SimpleText = "客户档案已成功导出为" & strTmp & "!"
                    End If
                End With
      

  4.   

    上面的代码是我的程序里面的一段,可以借鉴。
    重要的是Flags就行了。
    Flags=cdlOFNOverwritePrompt就会出现覆盖对话框。关于允许选择多个文件
    http://www.cadhelp.net/Article_Print.asp?ArticleID=9
      

  5.   

    里面不是有一句,当然是搞掂啦!
    If Dir(.FileName) Then Kill .FileName
    我提供的源码是我的程序中的一部分,谨供参考。
      

  6.   

    判断出文件已存在,先kill掉,再保存