设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 5207|回复: 25
打印 上一主题 下一主题

[模块/函数] [原创][分享]获取路径信息函数

[复制链接]
跳转到指定楼层
1#
发表于 2015-11-22 09:07:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在学习VS2010的自动化与扩展.顺手写了几个路径信息的函数
'获取文件名
Function GetFileName(Path As String) As String
    Dim lPos As Long
    lPos = InStrRev(Path, "\")
    If lPos Then GetFileName = Mid$(Path, lPos + 1)
End Function
'获取目录名
Function GetDirName(Path As String) As String
    Dim lPos As Long
    lPos = InStrRev(Path, "\")
    If lPos Then GetDirName = Mid$(Path, 1, lPos)
End Function
'获取扩展名
Function GetExtension(Path As String) As String
    Dim lPos1 As Long, lPos2 As Long
    lPos1 = InStrRev(Path, "\")
    lPos2 = InStrRev(Path, ".")
    '防止没有扩展名的文件
    If lPos1 < lPos2 And lPos1 > 0 Then GetExtension = Mid$(Path, lPos2 + 1)
End Function
'获取根目录
Function GetPathRoot(Path As String) As String
    Dim lPos As Long
    If Left$(Path, 2) = "\\" Then       '处理网络路径
        lPos = InStr(3, Path, "\")
        If lPos Then GetPathRoot = Mid$(Path, 1, lPos)
    Else
        lPos = InStr(1, Path, "\")
        If lPos Then GetPathRoot = Left$(Path, lPos)
    End If
End Function
'获取文件名, 不带扩展名
Function GetFileNameNoExt(Path As String) As String
    Dim lPos1 As Long, lPos2 As Long, strRet As String
    lPos1 = InStrRev(Path, "\")
    If lPos1 < 1 Then Exit Function
    lPos2 = InStrRev(Path, ".")
    If lPos1 < lPos2 Then   '文件名存在扩展名
        GetFileNameNoExt = Mid$(Path, lPos1 + 1, lPos2 - lPos1 - 1)
    Else        '文件名没有扩展名
        GetFileNameNoExt = Mid$(Path, lPos1 + 1)
    End If
End Function

Sub Path_Test()
    Dim strPath As String
    strPath = "C:\dir1\dir2\foo.txt"       '正常目录
'    strPath = "C:\dt01\dir.2\footxt"       '没有扩展名
'    strPath = "\\dt01\dir.2\footxt"       '网络路径1
'    strPath = "\\192.168.1.101\dir.2\foo.txt"       '网络路径2
    Debug.Print GetFileName(strPath)
    Debug.Print GetDirName(strPath)
    Debug.Print GetExtension(strPath)
    Debug.Print GetPathRoot(strPath)
    Debug.Print GetFileNameNoExt(strPath)
End Sub


有了上面的基本够用了.
下面是整合的函数
游客,如果您要查看本帖隐藏内容请回复


本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖1 订阅订阅

点击这里给我发消息

2#
发表于 2015-11-22 09:19:18 来自手机 | 只看该作者
wang1999 发表于 2015-11-22 09:07
最近在学习VS2010的自动化与扩展.顺手写了几个路径信息的函数
'获取文件名
Function GetFileName(Path As ...

赞一个
来自: 微社区
3#
发表于 2015-11-22 13:26:51 | 只看该作者
谢谢分享!
回复

使用道具 举报

4#
发表于 2015-11-23 00:27:25 | 只看该作者
eeee
回复

使用道具 举报

5#
发表于 2015-11-23 07:00:48 来自手机 | 只看该作者
好东西来自: Android客户端
回复

使用道具 举报

6#
发表于 2015-11-23 07:01:58 来自手机 | 只看该作者
要是天有真好!来自: Android客户端
7#
发表于 2015-11-23 08:55:32 | 只看该作者
挺好的。
回复

使用道具 举报

8#
发表于 2015-11-23 09:27:05 | 只看该作者
谢谢分享
回复

使用道具 举报

点击这里给我发消息

9#
发表于 2015-11-23 12:00:42 | 只看该作者
赞一个{:soso_e179:}

点击这里给我发消息

10#
发表于 2015-11-23 13:17:40 | 只看该作者
赞一个
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 01:50 , Processed in 0.113712 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表