首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用VBA,如何从路径字符串中获取直接的父文件夹名称?

在VBA中,可以使用FileSystemObject对象来获取路径字符串中的父文件夹名称。以下是一个示例代码:

代码语言:vba
复制
Sub GetParentFolderName()
    Dim fso As Object
    Dim path As String
    Dim parentFolder As Object
    
    ' 创建FileSystemObject对象
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    ' 设置路径字符串
    path = "C:\Users\Username\Documents\Example\File.txt"
    
    ' 获取父文件夹对象
    Set parentFolder = fso.GetParentFolderName(path)
    
    ' 输出父文件夹名称
    MsgBox parentFolder.Name
    
    ' 释放对象
    Set parentFolder = Nothing
    Set fso = Nothing
End Sub

在上述代码中,首先创建了一个FileSystemObject对象,然后设置了路径字符串。接下来,使用GetParentFolderName方法获取了父文件夹对象,并通过parentFolder.Name获取了父文件夹名称。最后,释放了对象以释放内存。

这种方法可以用于从任意路径字符串中获取直接的父文件夹名称,无论路径字符串是绝对路径还是相对路径。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • VBA: 通过Dir函数查找指定文件

    1 Dir函数的语法 2 应用示例 2.1 获取指定路径文件的名称 2.2 判断指定路径的文件夹是否存在(不存在则创建它) 2.3 获取指定路径文件夹内所有文件和子文件夹的名称 2.4...获取指定路径文件夹内的所有文件名称 2.5 获取指定路径文件夹内所有子文件夹的名称 2.6 获取指定路径文件夹内第一个txt文件的名称 2.7 获取指定路径文件夹内所有txt文件的名称 1...-> e # 4duck.txt # 5horse.txt 2.1 获取指定路径文件的名称 当文件的路径已知,可以通过Dir函数获取文件名称。...2.5 获取指定路径文件夹内所有子文件夹的名称 借助GetAttr函数,我们可以判断通过Dir函数返回的名称是属于文件还是文件夹。...如果直接使用GetAttr(PathName & FileName) = vbDirectory,容易把属性值22(16+4+2)或18(16+2)的文件夹漏掉。

    7K21

    VBA: 获取单元格内超链接文件的绝对路径

    文章背景:在工作中,有时为了内容跳转的方便,会在单元格内设置超链接,通过Hyperlinks(1).Address,得到的是超链接文件的相对路径。...有时为了VBA代码的编写方便,需要使用的是链接文件的绝对路径。下面通过编写VBA函数,获取单元格内超链接文件的绝对路径。 1 绝对路径和相对路径 有两种方法指定一个文件路径。...绝对路径,总是从根文件夹开始。 相对路径,它相对于程序的当前工作目录。 对于点(.)和点点(..)文件夹,它们不是真正的文件夹,而是可以在路径中使用的特殊名称。...单个的句点(“点”)用作文件夹目录名称时,是“这个目录”的缩写。两个句点(“点点”)的意思是父文件夹。 下图是一些文件和文件夹的例子。...回到VBA,通过ThisWorkbook.Path,可以获取当前工作簿所在工作目录的路径;通过Hyperlinks(1).Address,得到的是基于ThisWorkbook.Path的相对路径;通过ThisWorkbook.Path

    3.5K40

    文件操作——查找遍历

    前面说过了文件的读取、写入,那么在操作文件之前,一般我们需要找到操作的文件的路径,VBA对象库中,有一个FileSystem的模块,里面有关于文件操作的一些函数: ?...而从程序设计的角度来看,我们应该是希望在文件不存在的情况下,跳出一个提示框告诉我们文件不存在,而不是直接中断程序的运行。...VBA.Dir(FileName)在FileName这个文件不存在的情况下,会返回空字符串,文件存在的情况下会返回文件的名称,所以我们可以根据它的返回值来判断文件是否存在。...2、文件遍历 如果我们想要获取1个文件夹下所有的文件名称,也可以使用Dir来获取: Sub TestDir() FTestDir ThisWorkbook.Path End Sub Function...End Function 这个功能在汇总多个Excel文件数据的时候是经常会使用到的,使用过程中要注意的是Dir返回的是文件名称,不含前面的路径,所以在使用Workbooks.Open的时候,一定要记得带上路径

    97820

    Excel: 提取路径中的文件名

    文章背景:在日常工作中,有时需要从绝对路径中提取文件名。比如,已知某个文件的存储路径,想要获取最后的文件名称。下面介绍两种方法。...思路分析:针对文件路径,先用99个空格替换掉路径中的斜杆\;再从字符串右侧起,获取99个字符(新字符串),此时,新字符串内既有文件名,也有空格;最后,通过trim函数,移除首尾的空格,从而得到所需要的文件名...思路分析:针对文件路径,使用Split函数,基于斜杆/,将路径分割成各个小块,保存在一个数组内;然后通过Ubound函数,获取数组的最后一个索引号,从而将文件名提取出来。...参考资料: [1] 如何用excel提取路径中最后一个文件夹的名字(https://jingyan.baidu.com/article/a948d651aae9544a2ccd2e74.html) [2...] 字符串-如何从路径提取文件名(https://www.itranslater.com/qa/details/2582413335018865664) [3] REPT 函数(https://support.microsoft.com

    2.7K20

    Excel公式技巧49: 提取文件名

    学习Excel技术,关注微信公众号: excelperfect 在工作表中有一系列完整文件路径清单,现在要提取其中的文件名称,由于文件夹中可能还有子文件夹,因此文件路径长短不同,而我们必须找出其最后一个...然而,Excel中没有像VBA一样的InstrRev函数,可以实现从右向左的查找。这样,我们可以自定义一个这样的函数,在Excel工作表中使用,我们也可以使用一些函数技巧来实现这样的目的。...在《Excel公式技巧47:MID函数的妙用》中,我们发现可以使用任意顺序的数组来提取字符串中指定位置的字符;在《Excel公式技巧48:生成从大到小连续的整数》中,介绍了如何倒序生成连续整数的技巧。...运用这些知识后,我们可以很方便地从右向左找到最后一个“\”的位置。 如下图1所示的工作表,文件路径长短不同,我们要提取其文件名称。 ? 图1 首先,找到最后一个“\”的位置。...然后,使用字符串总长度减去上面的结果,可以得到从左向右数最后一个“\”的位置: =LEN(A1)-B1+1 结果为: 8 再使用MID函数获取文件/文件夹名: =MID(A1,C1+1,LEN(A1))

    1.8K20

    VBA: 利用FileSystemObject对象来处理文件

    文章背景: 在VBA中,通过Dir函数,可以判断指定路径的文件是否存在等。此外,借助FileSystemObject对象,我们同样可以操作文件和文件夹。...1 创建FSO对象 1.1 直接创建法 1.2 引用法 2 借助FSO可以获取的对象 3 FSO对象的属性 4 应用示例 4.1 检查文件或文件夹是否存在 4.2 基于给定路径,创建新文件夹...4.3 获取文件夹内所有文件的名称 4.4 获取文件夹内所有子文件夹的名称 4.5 获取文件夹及其子文件夹内所有文件的名称 4.6 拷贝文件 4.7 拷贝文件夹 1 创建FSO对象 1.1...使用直接创建法的缺点是,在VBA代码中,在使用FSO对象时,无法使用自动补全代码的功能。...4.5 获取文件夹及其子文件夹内所有文件的名称 通过递归法,使用FSO对象获取文件夹及其子文件夹内所有文件的名称。

    1.6K20

    Excel、Python对比,利用二者生成文件链接目录!

    今天给大家讲解一个简单又真实的案例,如何使用Excel、Python动态获取指定文件夹下文件名和文件路径,生成一个文件目录,点击相应的文件名即可跳转到相应的文件。...新建一个Excel工作簿,点击【数据】选项卡,再依次点击【获取数据】→【来自文件】→【从文件夹】 ? 选择文件所在文件夹: ? 点击【转换数据】: ?...成功获取了所有文件的文件名称和文件路径: ? 而做成一个点击相应的文件名即可跳转到相应的文件的文件目录,还需要添加一个超链接,而超链接刚才已经获取到了,就是文件路径。...二、Python python实现链接目录,关键点也是用了Excel的HYPERLINK函数,其实思路就是用os获取到文件路径和文件名称,最后再以字符串的方式写入excel中,下面我们来具体操作一下。...import pandas as pd import os 用os.walk获取文件夹下的文件名称filenames和文件路径parent,当文件夹下还有目录的话,就会生成dirnames: # #获取当前路径

    1.5K30

    问与答115:如何使用VBA从Excel中复制图片并将其粘贴到PowerPoint的指定幻灯片?

    Q:我在Excel工作表中包含有1张图片,名称是默认的“图片 1”,我怎样编写VBA代码来打开一个已存在的PPT文件,先删除该PPT中所有的图片,然后将“图片 1”复制并粘贴到该PPT的第2张幻灯片中...A:首先,添加对“MicrosoftPowerPoint XX.0 Object Library”库的引用,如下图1所示。 ?...ObjPPT.Visible = msoCTrue Set oPresentation =ObjPPT.Presentations.Open(opath, msoCTrue) '删除PPT中的所有图片...oSlide = Nothing Set oPresentation = Nothing End Sub 小结: Excel与其他Office应用程序(例如Word、PowerPoint)相交互是常见的应用...注:今天的这个问题来源于mrexcel.com论坛,略有修改,供有兴趣的朋友学习参考。

    4.3K41

    FSO对象的GetFile与GetFileName方法

    FSO对象的GetFile与GetFileName方法 【知识点】 GetFile 方法 返回与指定路径中的文件对应的**file** 对象。 语法 对象。...注解 以下代码阐释如何获得File 对象以及如何查看其属性之一 Sub t_GetFile() Dim t t= ThisWorkbook.Path & "\" & ThisWorkbook.Name..." & f.DateLastAccessed& vbCrLf s= s & "3.上次修改于◇ " &f.DateLastModified & vbCrLf s= s & "4.文件或文件夹所在的驱动器的驱动器号...◇" &f.Drive & vbCrLf s= s & "5.文件的名称◇" & f.Name &vbCrLf s= s & "6.文件的父文件夹的folder对象◇" & f.ParentFolder....文件的类型◇" & f.Type MsgBox s, 0, "File Access Info" End Sub 效果图 【知识点】 GetFileName 方法 返回指定路径中不属于驱动器规格的最后一个组件

    88120

    Workbook工作簿对象方法(二)

    四、工作簿对象save方法 保存excel工作簿,在VBA中主要是通过workbook工作簿对象的save方法和saveas方法 代码thisworkbook.save 表示保存代码所在的工作簿。...代码模式如下: thisworkbook.saveas filename:="文件保存的路径" 其中filename参数指文件保存的路径及文件名,如果省略路径,默认将文件保存在当前文件夹中。...2、参数FileName指定要保存的工作簿的名称。可以提供保存的路径,否则将保存到当前文件夹中。 3、参数FileFormat指定工作簿保存的格式。...3、参数Filename指定保存修改的工作簿名称。 示例保存关闭工作簿 下面以保存并关闭vba.xlsm文件为例。...Workbooks("vba.xlsm").Close savechanges:=True通过简单的代码,可以实现直接保存之后关闭excel文件。

    4.8K20

    使用VBA加载宏小心 Workbook.FullName 属性

    Workbook.FullName在VBA中是一个非常常用的属性,返回的是工作簿的全路径,首先查看一下帮助文件: 返回对象的名称(以字符串表示),包括其磁盘路径。String 型,只读。...可以看到路径中故意修改的字符被保存在了FullName中,但是文件名被还原回了磁盘上正确的名称。...当然,实际写代码过程中,一般不会这样故意去修改文件的路径。...但是,存在这样一种场景: 对经常使用VBA的人来说,会写一些常用的功能制作为加载宏使用,使用过加载宏的应该知道,一旦加载宏被移动了位置,会出现如下提示: ?...我个人有这样一个使用习惯,由于需要使用的VBA功能较多,我将一些功能分类编写了不同的宏文件,这些文件存放在同一个文件夹里,只设置加载一个加载宏。

    1.5K40

    VBA代码库09:增强的CELL函数和INFO函数

    excelperfect 本文介绍的自定义函数来源于wellsr.com,以Excel的CELL函数和INFO函数为样板,可直接返回工作表或工作簿的名称或工作簿路径,以及与Excel及其操作环境有关的各种信息...例如,如果指定参数值为directory,即输入公式: =INFO("DIRECTORY") 则返回当前目录或文件夹的路径,对于我的示例工作簿来说将返回: D:\01....Excel研究\06.2 VBA代码库\09\[VBACodeLibrary09.xlsm]Sheet1 下面的公式来拆分出工作簿路径、工作簿名称和工作表名称。...CELL函数和INFO函数的功能,不需要像上面那样使用长而复杂的公式来获取相关信息。...或 "help" 返回This的文本列表 ' This = 上面没有列出的任意字符串返回Environ(This) ' 如果Target为空(默认), 则Target被设置为引用此函数的单元格(如果在VBA

    4.6K10

    【项目实战】自监控-01-开启篇

    很多都是查百度,然后学习,然后使用,哈哈 Plus:目前我还是菜鸟,因为之前学习的是VBA,所以很多思路其实感觉还是向那边靠近,哈哈 Part 3:开篇小菜:文件操作,涉及模块os 获取当前文件夹路径,...转换工作路径 获取文件的地址,获取文件的名称 文件判断,文件夹判断,是否存在判断 Part 4:文件夹路径 在有些代码中要求转换当前工作路径到合适的位置才可以工作 例如当前Anaconda版本下默认安装的...pandas中的read_csv功能,要求需先将路径转换到拟读取的csv文件所在的文件夹 getcwd可以记忆为get-current-directory的缩写 chdir可以记忆为change-directory...Part 5:文件地址/文件名获取 已知文件的绝对地址,如何获取它对应的文件夹地址和文件名称 关键字:dirname,basename import ospath2 = "F:\\【10】微信\\Python...总结:总体来说介绍一些os.path下的一些实用功能,很多以前VBA中要自己写的,Python都是有现成的函数,棒!去做正真需要思考的事情! ----

    51310

    如何将重复工作实现自动化?

    当然了以我自己和朋友的经历来看,VBA是我们职场的“硬核加分之技能,撩妹装逼之法宝,升职加薪之利器”。 3.如何使用VBA? (1)VBA怎么开启?...案例2:批量修改所有文件名 其实工作中有很多类似这样的重复工作,例如批量更改文件名称、批量汇总多个工作表、批量汇总多个工作簿、自动比对数据、批量生成多个Excel文件等等,都可以用VBA自动化解决。...下面这个案例是批量更改指定路径下所有文件名 上面这个批量「更改指定路径下所有文件名」的程序,由两个程序组成:文件名提取和文件名更换,可以针对指定路径文件夹(文件夹在哪里)下任何类型文件,更改为指定名称...这个程序,我们平常的用途还是挺多的,尤其是收集各单位的Excel需求后。 大家拿去,可以直接使用,文件里有详细的说明步骤。 4.有哪些注意事项?...这次我们知道了什么是VBA、有什么用、如何使用,下次我们聊聊如何写出案例中的VBA代码.

    26030

    VBA调用外部对象02:FileSystemObject——其他函数

    其他一些个人认为比较常用的函数有: 1、判断文件是否存在 fso.FileExists 2、获取不包含路径的文件名 fso.GetFileName这个功能在需要判断文件名称是否符合某个条件的时候用的还是比较多的...3、获取文件的后缀名 fso.GetExtensionName这个功能在判断文件类型的时候非常方便 4、获取不包含路径、不包含后缀的文件名 fso.GetBaseName这个和fso.GetFileName...差不多 5、获取文件夹和文件 fso.GetFolder、folder.Files这个在Excel VBA里一般就是用作查找遍历文件,在FileSystemObject的介绍里已经提到过了。...其他还有很多功能,文件/文件夹删除、移动等。基本上我们手动对文件/文件夹能操作的都有。...但这些操作其实在Excel VBA里使用的不多,而且不是一定要使用FileSystemObject对象,VBA里其实都有对应的函数。使用FileSystemObject仅仅是方便。

    1.6K20

    如何将重复工作实现自动化?

    当然了以我自己和朋友的经历来看,VBA是我们职场的“硬核加分之技能,撩妹装逼之法宝,升职加薪之利器”。 3.如何使用VBA? (1)VBA怎么开启?...案例2:批量修改所有文件名 其实工作中有很多类似这样的重复工作,例如批量更改文件名称、批量汇总多个工作表、批量汇总多个工作簿、自动比对数据、批量生成多个Excel文件等等,都可以用VBA自动化解决。...下面这个案例是批量更改指定路径下所有文件名 上面这个批量「更改指定路径下所有文件名」的程序,由两个程序组成:文件名提取和文件名更换,可以针对指定路径文件夹(文件夹在哪里)下任何类型文件,更改为指定名称...这个程序,我们平常的用途还是挺多的,尤其是收集各单位的Excel需求后。 大家拿去,可以直接使用,文件里有详细的说明步骤。 4.有哪些注意事项?...这次我们知道了什么是VBA、有什么用、如何使用,下次我们聊聊如何写出案例中的VBA代码。

    2.9K10
    领券