首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

CommonDialog 在为ShowOpen 和 ShowSave 时,如何判断输入的后缀名呢

2012-01-13 
CommonDialog 在为ShowOpen和 ShowSave 时,怎么判断输入的后缀名呢With dlgCommonDialog.DialogTitle

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

[解决办法]

VB code
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")

热点排行
Bad Request.