vba读取指定文件夹的所有文件夹

vba读取指定文件夹的所有文件夹,第1张

“当前路径”指的是什么的当前路径?

在Office应用程序(如Word或Excel等)中当前打开的文档所在的路径?还是Office这个应用程序所在的路径。

如果传入一个“”,好象默认是返回“我的文档”中的第一个文档。所以那个classPath可能就是你机器上“我的文档”中的第一个文件的文件名。

下面这个函数用MsgBox显示给定目录下的所有文件名:

Function EnumAllFiles(strPathName As String)

Dim strFileName As String

strFileName = Dir(strPathName & "")

While strFileName <> ""

If MsgBox("文件名是 " & strFileName & " 是否继续枚举?", vbDefaultButton1 Or vbYesNoCancel Or vbQuestion) <> vbYes Then Exit Function

strFileName = Dir

Wend

End Function

sub t()

dim str

str=ThisWorkbookPath

MsgBox Right(str, Len(str) - InStrRev(str, "\"))

end sub

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

Sub LoopAllExcelFilesInFolder()

Dim wb As Workbook

Dim myPath As String

Dim myFile As String

Dim myExtension As String

Dim FldrPicker As FileDialog

'这里很关键,决定宏执行快慢的关键

ApplicationScreenUpdating = False

ApplicationEnableEvents = False

ApplicationCalculation = xlCalculationManual

'打开目录选择框

Set FldrPicker = ApplicationFileDialog(msoFileDialogFolderPicker)

With FldrPicker

Title = "请选择目录"

AllowMultiSelect = False

If Show <> -1 Then GoTo NextCode

myPath = SelectedItems(1) & "\"

End With

'取消选择

NextCode:

myPath = myPath

If myPath = "" Then GoTo ResetSettings

'指定过滤的文件后缀

myExtension = "xls"

'遍历全路径

myFile = Dir(myPath & myExtension)

'循环处理每一个文件

Do While myFile <> ""

'打开

Set wb = WorkbooksOpen(Filename:=myPath & myFile)

'确保工作簿被打开,在处理下一个文件时

DoEvents

'设置背景色

wbWorksheets(1)Range("A1:Z1")InteriorColor = RGB(51, 98, 174)

'保存工作簿

wbClose SaveChanges:=True

'确保工作簿被关闭,在处理下一个文件时

DoEvents

'接着处理下一个

myFile = Dir

Loop

'提示处理完成

MsgBox "处理完成!"

ResetSettings:

'恢复设置

ApplicationEnableEvents = True

ApplicationCalculation = xlCalculationAutomatic

ApplicationScreenUpdating = True

End Sub

通配符 和

:匹配0个或者多个字符,abc,可以匹配abc目录或任何以abc开头的目录。

:匹配一个字符,例如 abc,只能匹配abc开头的文件夹,并且文件名长度为4个字符。

如何用Excel VBA读取某一文件夹下批量TXT文本内的某行某列? 可以使用如下的代码,复制如下代码到VBA模块中运行即可。

如下代码代表4行4列,如果其余行或列数则可更改相应的数字。

具体步骤如下:

打开office excel;

Alt+F11打开VBA编辑器;

复制如下代码到模块中;

F5运行该模块;

按照提示进行如下步骤即可。

Sub xxx()Dim myFile As StringDim myText As StringDim myString As StringDim i As SingleWith ApplicationFileDialog(msoFileDialogFolderPicker)ShowAllowMultiSelect = FalsemyFile = SelectedItems(1)End WithmyText = Dir(myFile & "\" & "txt")Do While Len(myText) <> 0Open myFile & "\" & myText For Input As #1myText = Split(Split(VBAStrConv(InputB(LOF(1), 1), vbUnicode), Chr(10))(3), vbTab)(3) '4行4列,如果其余行或列数则更改相应的数字DebugPrint myTextClosemyText = DirLoopEnd Sub

如何用ISS指向某一文件夹

现在我们的标准安装已经完成,让我们讨论一下无人值守安装。Setupsqlexe程序让你记录下一个应答文件,它包括了你在安装程序对话框中常选的对于各种安装选项的所有回答。稍后,你能够通过调用以该应答文件作为参数的setupsqlexe命令来运行一个安装。这种无需任何用户干预的安装类型被称为无人值守安装。 要准备应答文件,先启动安装程序,在安装选择对话框中选择高级选项,在对话框中选择选取“记录无人值守ISS文件”。安装程序会指导你完成常规的安装对话框,其中你可以填入所有你想要记录的选项。当你完成后,安装程序在\WINNT文件夹下创建一个名为setupiss的文件。 要启动一个无人值守安装,运行setupsqlexe程序,用-s作为执行安静安装的参数、-fl参数指定一个应答文件。例如,要启动一个安静的、无人值守的安装——安装完成后不通知你,你可以使用以下命令: \setupsqlexe –s –fl \setupiss 如果你想在安装完成时得到通知,从命令行执行如下setupsqlexe程序,或者把它写入一个批处理文件中: start /wait \setupsqlexe -s –fl \setupiss 直到安装结束,控制才会传递到下一条命令。当你从批处理文件启动安装,而这个文件又包括其他依赖于安装的行为时,使用start /wait选项是特别重要的。例如,假设你要为一个名为INST1的命名实例执行无人值守安装来创建批处理文件,然后启动SQL Server服务,再运行一个用来创建数据库及其对象(如:表、存储过程)的sql脚本。这个批处理文件看起来可能像这样: start /wait D:\X86\Setup\setupsqlexe –s –fl C:\WINNT\setupiss start MSSQL$INST1 OSQL /E /I “c:\data\scripts\createappdbsql” 如果你不使用start /wait选项,控制从安装一开始就移到了批处理文件的第二条命令,而这条NET START命令试图启动一个还不存在的服务。 对一个无人值守安装进行故障排除要比对待标准安装的故障排除更需要慎重对待。标准安装往往在安装程序遇到问题时通过显示一个包含出错信息的对话框(并伴有响亮的警告声)来通知你。而无人值守安装只是简单地终止,且没有交互的通知。 要了解如何对无人值守安装进行故障排除,让我们来看一组我遇到过的问题。假设你已经在服务器上完成了另一个产品的安装,然后你试图执行一个SQL Server的无人值守安装。安装程序检测到在前一个安装结束后服务器尚未重启,于是放弃安装,同时没有任何信息提示。如果你保持任务管理器窗口打开,你会注意到setupsqlexe 程序不活动,所以SQL Server没有被安装。你也应该检查日志文件。一旦安装成功,\WINNT\setuplog文件应该显示0作为出错代码;然而,在我描述的情景中,他很可能显示-1,这表示一个基本错误。你也应该看一下出错信息。 当执行无人值守安装时,我遇到过多次的另一个错误是“对话框次序紊乱”。同时,安装程序通常在\Pr

如何用vbs判断某一文件夹下是否有txt格式文件

set fso=createobject("scriptingfilesystemobject")

set folder=fsogetfolder("D:123")

for each fl in folderfiles

if lcase(right(fl,4))="txt" then msgbox "存在":wscriptquit

next

msgbox "不存在"

excel如何用宏删掉D盘某个文件夹下“0txt”文件

sub delfile()

Kill "D:\1\0txt"

end sub

删除d盘文件夹1下面的0txt文件

matlab如何打开某一文件夹下的m文件?

解决方案1:

\)主程序开头添加addpath('program文件夹添加到当前运行的path中;e;program' 也就是把e:\

解决方案2:

m'd把要run的M文件改成function格式

然后再要用的地方调用function

如果之前没打开过的话就要先用命令打开,例如,把函数放进matlab里

用命令打开:

open('program\:\

解决方案3:

用matlab需要一个工作空间(我的电脑默认的是:我的文档\\matlab这个文件夹),你把要用的文件都放在那里,要是满电脑乱放可不行B

解决方案4:

点击桌面matlab的图标,右键单击一下,点击属性,里面第二栏为起始位置,更改起始位置的文件位置即可。比如说你上边的将起始位置栏改为E:\program,如果该文件下面还有文件夹例如文件夹kiss,可以这样子更改E:\program\kiss,这样更改以后每次打开matlab的open选项时,自动从所设定的文件位置打开!

解决方案5:

主程序开头添加addpath('e:\program'); 也就是把e:\program文件夹添加到当前运行的path中,这样就可以直接调用该文件了

把要run的M文件改成function格式

然后再要用的地方调用function

如果之前没打开过的话就要先用命令打开,把函数放进matlab里

用命令打开,例如:

open('d:\program\m') &&其中为文件名

解决方案6:

这是默认的文件夹

你点开想要打开的M文件就可以了 问你是否变更文件夹 点是就OK

解决方案7:

1 直接搜索m;

2 edit m

3 如果已经找到了m文件,那就双击好了

解决方案8:

matlab软件里面的文件窗口的右上角有得点

Excel 如何批量提取同一文件夹下excel信息

那个你直接用“无敌点击狗”软件就能轻松完成,在无敌点击狗里提供有自动点击按键 *** 作和自动批量提取录入,按键模拟等,很方便的。

求批处理批量提取某一文件夹下所有文件内指定的字符

把压缩包解压后得到txt文件,然后可试试 文件批量处理百宝箱V80 主界面-更多功能-拓展界面-文本行处理-第39项功能,在待查找标记中输入:([1-9][0-9]{4,12}[!\D](!\d))|(!1000)\@(qq|QQ)\(|COM),单击执行即可。

如何用matlab批量读取一个文件夹下的多个子文件夹中的多个文件

matlab我不了解,您是要用matlab这个程序去打开每一个文件吗?

如何用python获得ftp中某文件夹下的'文件夹列表'

使用dir()取回来后, 再处理一下,把目录挑出来:

drw-rw-rw- 1 user group 0 Oct 31 21:40 dir1

drw-rw-rw- 1 user group 0 Oct 31 21:42 dir2

-rw-rw-rw- 1 user group 10752 Oct 31 21:41 file1doc

-rw-rw-rw- 1 user group 10752 Oct 31 21:41 file2doc

一、所需DOS命令

dir [drive:][path] /b > [drive:][path]filename

二、应用实例

如下图,在D盘中,有一个名称为“TQIPC”的文件夹,这个文件夹里面,存放了很多的照片!

现在,我们要做的就是,如何让这些照片的名称,自动显示在Excel或记事本里面!

执行菜单 *** 作“开始”→“运行”,d出运行对话框,在里面输入 CMD 并按“确定”键,这个时候,会打开如下图的MS-DOS窗口!

之后,如下图一样,输入DOS命令即可!

上述的命令输入好之后,就按下回车键,命令就执行了,以上生成的是XLS文件;如果您想生成记事本TXT文件,那么,就输入下图的dos命令即可!

就这样,非常简单,文件名的列表文件,就形成了!如下图!

通过dos命令的 *** 作,我们就得到了如上图的两个文件了。

下面我们打开tempxls文件看看,如下图!

看到了没有,文件夹中的照片名称,自动就显示在excel表格中了!

该dos命令非常强大,用好dos命令,可省去我们很多的功夫。

三、知识扩展

下面,再给大家一个例子,即,自动根据照片(根据人物名称),建立文件夹。

如果某个文件夹下面,您存放的是某些人物的照片,并且,每个人物的照片,都使用其名字来命名;这个时候,如何要自动根据人物的自动建立其对应的文件夹,也相当方便!

*** 作的方法是,先根据上述的方法,获取所有人物的照片的名称,生成EXCEL文件;

然后,在人物名称列前面,插入一列,并输入MD;

接下来,使用查找替换功能,将excel文件中的人物名称,去掉扩展名(只保留名字);

最后,将excel的内容,复制粘贴到记事本中,现在,我们就得到了形如:“MD 人物名称” 这样的命令格式了。(md 文件名称,该命令格式,是使用来建立文件夹的命令,上述的 *** 作,都是为此做准备!)

将记事本文件保存成为形如:124bat格式的文件,最后,双击此文件,文件夹名称就自动建立好了!

如果只是修改你说的内容就比较简单,要提取子文件夹中的文件,用VBA也是可以的。写起来有点麻烦,还不如直接用个DOS命令先提取文件名,这样来得快:

1:运行->cmd然后会出来命令提示符,再输入dir e:\access /B/S xls > e:\dataxls (以上是直接把e盘access这个文件夹中的所有xls文件和子文件夹中的xls文件名提取出来并保存到e盘的dataxls中)(dataxls是自己生成不用新建)

2:打开dataxls文件,就会发现A列全是文件路径和名称,然后在B列把A列的文件名分离出来。

然后建一个commandbutton,输入以下代码:

Private Sub CommandButton1_Click()

ApplicationScreenUpdating = False '关闭屏幕刷新

ApplicationDisplayAlerts = False '禁用所有事件

for i=1 to range("a65536")end(xlup)row

WorkbooksOpen range("a"&i)

For Each sht In Sheets

If shtName = "Sheet1" Then

shtRange("D3") = "己复核"

End If

Next

workbooks(trim(range("b"&i)))Close True

next

ApplicationDisplayAlerts = True ' 启用所有事件

ApplicationScreenUpdating = True '打开屏幕刷新

END SUB

以上就是关于vba读取指定文件夹的所有文件夹全部的内容,包括:vba读取指定文件夹的所有文件夹、VBA提取当前工作簿所在文件夹的名称、vba 遍历指定文件夹(含子目录)获取文件名,哪种方法速度最快等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9656700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存