VBA提取当前工作簿所在文件夹的名称?

VBA如何获取当前工作簿所在文件夹的名称到A1?
是获取当前文件夹的名称,不是路径!!!
把文件夹的名称赋给A1

第1个回答  推荐于2017-09-27
sub t()
dim str
str=ThisWorkbook.Path
MsgBox Right(str, Len(str) - InStrRev(str, "\"))
end sub

用路径整理下就是文件夹了啊~

追问

就是不知道要怎么整理呀
MsgBox Right(str, Len(str) - InStrRev(str, "\")) 这句不太理解,能不能讲解一下
我是想把文件夹的名称赋给A1

追答

先用ThisWorkbook.Path获取路径。

得到的字符串的最后一个\后面的内容就是文件夹名称,这个好理解的吧?

然后,我们需要做的就是用截取字符串的函数把最后一个\后面的内容分离出来。

instrrev函数在帮助文件中的解释:

返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。

因为路径中的\可能会比较多,我们只要最后一个,所以用这个函数直接返回最右边的位置。

用len-instrrev得到的结果就是文件名的长度了。用right截取一下就好了。

sub t()
dim str
str=ThisWorkbook.Path
[a1]= Right(str, Len(str) - InStrRev(str, "\"))
end sub

本回答被提问者采纳
第2个回答  2014-01-13
[a1]=thisworkbook.path

追问

是获取当前文件夹的名称,不是路径!!!