excelvba文件夹|EXCEL怎样用VBA自动提取文件夹内的文件名

excelvba文件夹|EXCEL怎样用VBA自动提取文件夹内的文件名的第1张示图

❶ EXCEL VBA 获取文件夹及子文件夹下所有文件并建立超链接

可以用代码完成:1、先编制表格:2、在表格里编写触发宏代码:privatesubworksheet_change(byvaltargetasrange)dimphotonameasstringiftarget.row=3andtarget.column>3andtarget.column<6thenonerrorresumenext'忽略错误继续执行vba代码,避免出现错误消息application.screenupdating=falseapplication.enableevents=falseforeachshpinsheets("查询表").shapesifshp.type<>8andshp.type<>12thenshp.deleteendifnextphotoname=cells(3,4)&".jpg"cells(3,"l").selectactivesheet.pictures.insert(activeworkbook.path&"\照片\"&photoname).select'当前文件所在目录下以单元内容为名称的.jpg图片withselectionta=range(cells(3,"l").mergearea.address).height'单元高度tb=range(cells(3,"l").mergearea.address).width'单元宽度tc=.height'图片高度td=.width'图片宽度tm=application.worksheetfunction.min(ta/tc,tb/td)'单元与图片之间长宽差异比例的最小值.top=activecell.top+2.left=activecell.left+1.height=.height*tm*0.98'按比例调整图片宽度.width=.width*tm*0.98'按比例调整图片高度endwithcells(3,4).selectapplication.enableevents=trueapplication.screenupdating=trueendsub3、在当前目录下建个名为”照片“的子目录,里面存有以姓名为名称的.jpg格式的照片4、在姓名后单元输入姓名后,就能自动插入图片了

❷ Excel VBA列出某文件夹下子文件夹及文件名

遍历文件夹 并列出文件 & 文件夹 名 代码如下:

在文件夹内 新建 个 Excel文件

Excel文件内 按 Alt+F11 视图–代码窗口, 把如下代码复制进去, F5运行

Sub遍历文件夹()'OnErrorResumeNextDimfn(1To10000)AsStringDimf,i,k,f2,f3,xDimarr1(1To100000,1To1)AsString,qAsIntegerDimtt=Timerfn(1)=ThisWorkbook.path&""i=1:k=1DoWhilei<UBound(fn)Iffn(i)=""ThenExitDof=Dir(fn(i),vbDirectory)DoIfInStr(f,".")=0Andf<>""Thenk=k+1fn(k)=fn(i)&f&""EndIff=DirLoopUntilf=""i=i+1Loop'*******下面是提取各个文件夹的文件***Forx=1ToUBound(fn)Iffn(x)=""ThenExitForf3=Dir(fn(x)&"*.*")DoWhilef3<>""q=q+1arr1(q,1)=fn(x)&f3f3=DirLoopNextxActiveSheet.UsedRange=""Range("a1").Resize(q)=arr1MsgBoxFormat(Timer-t,"0.00000")EndSub

效果如图:

❸ excel vba如何删除文件夹

if Dir("C:\ls\*.*")<>"" then kill "C:\ls\*.*"RmDir "C:\ls"如果文件夹里有文件无法直接删除文件夹,需要先删除文件夹里面的文件。

❹ excel VBA 自动生成文件夹

Sub创建文件夹()DimFAsStringDimPAsStringDimSAsStringP="D:123"P=IIf(Right(P,1)="",P,P&"")F=Dir(P&"*.XLS*")DoWhileF<>""S=Left(F,InStrRev(F,".")-1)MkDirP&SNameP&FAsP&S&""&FF=DirLoopMsgBox"操作完成!"EndSub

路径自己修改下。

❺ excel vba 中如何取得目录下文件的数量

FunctionFileCount(cPathAsString)asIntegercFile=Dir(cPath&"*.*")DoWhilecFile<>""FileCount=FileCount+1cFile=DirLoopEndFunction

这是一段自定义函抄数,袭在Excel VBA编辑模式下,主菜单“插入”——“模块”,将代码粘贴到右侧编辑区。如果在工作表状态下使用,在单元格输入:=FileCount("c:XXX")就可以得出c:XXX文件夹下的所有文件个数(不含子文件夹);如果在代码中使用,则可以:nFileCount=FileCount("c:XXX")得到文件个数。注意:cPath参数必须以“”符号结尾。

❻ EXCEL怎样用VBA自动提取文件夹内的文件名

按Alt+F11,打开VBA编辑器,插入一个模块,把下面的代码贴进去,按F5执行Sub t() Dim s As FileSearch '定义一个文件搜索对专象 Set s = Application.FileSearch s.LookIn = "c:\" '注意路径,属换成你实际的路径 s.Filename = "*.*" '搜索所有文件 s.Execute '执行搜索 Cells.Delete '表格清空 For i = 1 To s.FoundFiles.Count Cells(i, 1) = s.FoundFiles(i) '每一行第一列填写一个文件名 NextEnd Sub

❼ Excel vba 怎么删除一个文件夹包含★的所有文件

kill"c:*★*.*"

❽ 关于Excel VBA打开文件夹

Sub openmyexcel() Dim fs, f, i, j, k, f1, f2 Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.getfolder("f:\hk") For Each i In f.subfolders If InStr(i.Name, "102471") <> 0 Then Set f1 = fs.getfolder(i.Path) For Each j In f1.subfolders If InStr(j.Name, "prem") <> 0 Then Set f2 = fs.getfolder(j.Path) For Each k In f2.Files If InStr(k.Name, "00") <> 0 Then Workbooks.Open (k.Path) Set f2 = Nothing Exit For End If Next Set f1 = Nothing Exit For End If Next Set f = Nothing Exit For End If NextEnd Sub————————————————————————————在thisworkbook中执行

❾ VBA 怎么打开当前文件夹下的excel

你只要运行语句,然后找到你那个文件夹,Office下次再打开是会自动记录位置的,直接定位到那个文件夹。而且要指出的是:GetOpenFilename 方法:显示标准的“打开”对话框,并获取用户文件名,而没有真正打开任何文件。要真正打开文件要使用:Workbook的Open方法xlapp.Workbooks.Open (Filename)注意:其中Filename参数需要指定文件的全路径。

❿ 如何利用excel vba自动列出指定文件夹目录下的所有文件

下面的抄例子代码显示C:所有文件,供你参考:

OptionExplicitSubygb()Dimf,ii=1f=Dir("c:")Whilef<>""Cells(i,"A")=fi=i+1f=DirWendEndSub

未经允许不得转载:山九号 » excelvba文件夹|EXCEL怎样用VBA自动提取文件夹内的文件名

赞 (0)