CommonDialog 在为ShowOpen 和 ShowSave 时,怎么判断输入的后缀名呢
With dlgCommonDialog
.DialogTitle = "保存"
.CancelError = False
'ToDo: 设置 common dialog 控件的标志和属性
.Filter = "加工文件 (*.Djc)|*.Djc"
.Flags = cdlOFNExtensionDifferent
.Flags = 10
.ShowSave
If Len(.FileName) = 0 Then
Exit Sub
End If
sFile = .FileName
End With
是 CommonDialog 自己有自带的属性吗,可是我把那几个属性都设置了,还是没用。
问题是这样的我要求保存的后缀名为Djc,可是我输入个111.txt,他保存的就成了111.txt。这种问题应该怎么解决呢,3Q
[解决办法]
Dim s1 As StringDim k As Long s1 = "111.html" k = InStrRev(s1, ".") If k > 0 Then s1 = Left(s1, k - 1) + ".Djc" Else s1 = s1 + ".Djc" End If Debug.Print "s1=[" + s1 + "]"
[解决办法]
通用对话框的功能只是取得一个全路径.
你应该对取回的路径(sFile = .FileName这句)做个判断.
比如,用户是输入了文件名,还是连后缀都输入了?
如果输入了后缀名,但却不是指定的后缀名,或没有输入后缀名,你就得自己添加.
很简单一句:
sFile = iif(right(.FileName,4)=".djc",.filename,.filename & ".djc")