gxynd 发表于 2012-10-12 07:10:21

文件存盘问题

用VBA程序存盘文件时,跳出对话框,选择文件,输入文件名,存盘,发现如果与已经存在的文件同名时,未出现提示“文件已经存在,是否替换?”的提示框,造成将原有文件误替换,请问兄台,如何设置提示框,以便不致于误替换,象CAD自身的存盘功能一样呀?谢谢了。

mikewolf2k 发表于 2012-10-12 10:31:02

可以在存盘之前检测下要存的文件是否存在,然后做相应提示。

woaishuijia 发表于 2012-10-12 13:55:16

Flags属性(“打开”、“另存为”对话框)
为“打开”和“另存为”对话框返回或设置选项。
应用于: CommonDialog控件
语法: object.Flags[=value]
Flags属性语法有下列部分:

部分描述
object对象表达式,其值是“应用于”列表中的对象
value如“设置值”中所描述,是为“打开”和“另存为”对话框指定选项的常数或值

设置值
常数值描述
cdlOFNAllowMultiselect&H200它指定文件名列表框允许多重选择
运行时,通过按SHIFT键以及使用UPARROW和DOWNARROW键可选择多个文件。作完此操作后,FileName属性就返回一个包含全部所选文件名的字符串。串中各文件名用空格隔开
cdlOFNCreatePrompt&H2000当文件不存在时对话框要提示创建文件。该标志自动设置cdlOFNPathMustExist和cdlOFNFileMustExist标志
cdlOFNExplorer&H80000它使用类似资源管理器的打开一个文件的对话框模板。适用于Windows95和WindowsNT4.0
cdlOFNExtensionDifferent&H400它指示返回的文件扩展名与DefaultExt属性指定的扩展名不一致。如果DefaultExt属性是Null,或者扩展相匹配,或者没有扩展时,此标志不设置。当关闭对话框时,可以检查这个标志的值
cdlOFNFileMustExist&H1000它指定只能输入文件名文本框已经存在的文件名。如果该标志被设置,则当用户输入非法的文件名时,要显示一个警告。该标志自动设置cdlOFNPathMustExist标志
cdlOFNHelpButton&H10使对话框显示帮助按钮
cdlOFNHideReadOnly&H4隐藏只读复选框
cdlOFNLongNames&H200000使用长文件名
cdlOFNNoChangeDir&H8强制对话框将对话框打开时的目录置成当前目录
cdlOFNNoDereferenceLinks&H100000不要间接引用外壳链接(也称作快捷方式)。缺省时,选取外壳链接会引起它被外壳间接引用
cdlOFNNoLongNames&H40000无长文件名
cdlOFNNoReadOnlyReturn&H8000它指定返回的文件不能具有只读属性,也不能在写保护目录下面
cdlOFNNoValidate&H100它指定公共对话框允许返回的文件名中含有非法字符
cdlOFNOverwritePrompt&H2使“另存为”对话框当选择的文件已经存在时应产生一个信息框,用户必须确认是否覆盖该文件
cdlOFNPathMustExist&H800它指定只能输入有效路径。如果设置该标志,输入非法路径时,应显示一个警告信息
cdlOFNReadOnly&H1建立对话框时,只读复选框初始化为选定。该标志也指示对话框关闭时只读复选框的状态
cdlOFNShareAware&H4000它指定忽略共享冲突错误

说明
cdlOFNExplorer和cdlOFNNoDereferenceLinks标志适用于Windows95和WindowsNT4.0。Windows95中cdlOFNExplorer的公共对话框使用字符作为分隔符;而在没有Windows95外壳的WindowsNT的早期版本中,多重选择是使用空格作为分隔符(因而不能支持长文件名)。
无论是在WindowsNT4.0还是在Windows95中,如果不选取cdlOFNAllowMultiselect标志,cdlOFNExplorer和cdlOFNLongNames标志均没有意义,并且实际上是缺省值。
无论是在WindowsNT4.0还是在Windows95中,如果cdlOFNallowMultiselect标志被单独使用,都不能支持长文件名。这是因为多重文件名要复现空格分隔符,而长文件名也可能包括空格符。在WindowsNT3.5中,无法避免这种情况。如果使用cdlOFNAllowMultiselect,就不能看到长文件名。如果在Windows95中添加cdlOFNExplorer标志,就可以既能进行文件多选,又能看到长文件名。但是,这些文件名显现空字符分隔符,而不是空格分隔符隔开。因此,cdlOFNAllowMultiselect和cdlOFNExplorer一起使用时,在Windows95和WindowsNT4.0中需要不同的文件名所得结果的语法分析。
这些常数在对象浏览器中的MicrosoftCommonDialog控件(MSComDlg)对象库中列出。
也可以定义所选择的标志。应使用启动窗体声明部分的Const关键字来定义想使用的标志。例如:
Const ReadOnly=&H00000001&
Const Effects=&H00000100&
CommonDialog1.Flags=&H10& Or &H200&
将所需常数值相加能产生同样的结果。下例与上例等效:
CommonDialog1.Flags=&H210&
数据类型: Long
页: [1]
查看完整版本: 文件存盘问题