永发信息网

vb 如何得到后缀名

答案:5  悬赏:10  手机版
解决时间 2021-03-04 22:39
  • 提问者网友:几叶到寒
  • 2021-03-03 23:37
例如 文档1.doc就获取个.doc 或者就 doc 怎样获取
最佳答案
  • 五星知识达人网友:持酒劝斜阳
  • 2021-03-03 23:49
VB可通过使用CommonDialog 控件来获取需打开文件的路径,用Split函数来获取该文件的扩展名。
CommonDialog 控件提供一组标准的操作对话框,进行诸如打开和保存文件,设置打印选项,以及选择颜色和字体等操作。通过运行Windows 帮助引擎控件还能显示帮助。
Split函数  ,返回一个下标从零开始的一维数组,它包含指定数目的子字符串。
实现代码如下:
Private Sub Command1_Click()
    Dim i As Long
    Dim j As Long
    Dim kzName() As String
    Dim Msg, Style, Title, Help, Ctxt, Response, MyString
    ' 设置“CancelError”为 True
    CommonDialog1.CancelError = True
    On Error GoTo ErrHandler
    ' 设置标志
    CommonDialog1.Flags = cdlOFNHideReadOnly
    ' 设置过滤器
    CommonDialog1.Filter = "All Files (*.*)|*.*|" 'Text Files" & "(*.txt)|*.txt|Batch Files (*.bat)|*.bat"
    ' 指定缺省的过滤器
    CommonDialog1.FilterIndex = 2
    ' 显示“打开”对话框
    CommonDialog1.ShowOpen
    ' 显示选定文件的名字
    'Debug.Print CommonDialog1.FileName
    str = CommonDialog1.FileName
    kzName = Split(str, ".")
    Msg = "文件扩展名是:" & kzName(1)  ' 定义信息。
    Title = "扩展名"   ' 定义标题。
    Response = MsgBox(Msg, Style, Title, Help, Ctxt)
    If Response = vbYes Then   ' 用户按下“是”。
       MyString = "Yes"   ' 完成某操作。
    Else   ' 用户按下“否”。
       MyString = "No"   ' 完成某操作。
    End If
    Exit Sub
ErrHandler:
    ' 用户按了“取消”按钮
    Exit Sub
End Sub
全部回答
  • 1楼网友:轻雾山林
  • 2021-03-04 04:19
上面说的都是对后缀名是三位字符组成的有效,如果四位就会报错,比如123.html获取的结果就是tml。如果想获取任意文件名,你可以还加一步,通过instr涵数获取“.”字符的位置,再用mid函数截取后缀。至于文件名,同样也可以通过上面的方法截取。
  • 2楼网友:时间的尘埃
  • 2021-03-04 03:15
如果你能获得文件名的话,就用right()函数。right(字符串,N)函数是指:从字符串向右边开始截取N个字符。例如我有一个文件是:C:\文本1.txt,那么就这样做right(“C:\文本1.txt”,4),就可以得到.txt了! 至于文件名你可以使用通用对话框获得!
  • 3楼网友:低血压的长颈鹿
  • 2021-03-04 01:41
比如文件名为c:\windows\logo.gif private sub command1_click() a = "c:\windows\logo.gif" msgbox right(a, 4) '截取后4个字符 end sub 还有另外的办法 private sub command1_click() a = "c:\windows\logo.gif" msgbox mid(a,instr(1,a,"."),len(a)) '判断.的位置,然后在截取 end sub
  • 4楼网友:狂恋
  • 2021-03-04 01:19
s = "aaa.html" '文件名 n = InStr(s, ".") '获取扩展名前的 点 的位置 hzm = Right(s, n) '根据位置截取扩展名 MsgBox hzm
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯