Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 14964|回复: 6

[已解决]如何用VBA在当前目录下依次创建指定文件夹

[复制链接]
发表于 2013-6-26 17:55 | 显示全部楼层 |阅读模式
[url=] 在当前目录下依次创建指定文件夹.rar (3.73 KB, 下载次数: 118)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-6-26 18:21 | 显示全部楼层
那就分级创建吧。
其实不用检测,直接用MKDIR创建就成了,用上ON ERROR RESUME NEXT,这是偷懒的方法。
回复

使用道具 举报

 楼主| 发表于 2013-6-26 19:35 | 显示全部楼层
hwc2ycy 发表于 2013-6-26 18:21
那就分级创建吧。
其实不用检测,直接用MKDIR创建就成了,用上ON ERROR RESUME NEXT,这是偷懒的方法。

那就漏 创建了呀
回复

使用道具 举报

发表于 2013-6-26 19:43 | 显示全部楼层
我说是的顺着\开始,一级一级来创建,这样就不会报错了。
比如C:\A\B\C
直接运行三条创建目录的语句
MKDIR C:\A
MKDIR C:\A\B
MKDIR C:\A\B\C
回复

使用道具 举报

 楼主| 发表于 2013-6-26 20:25 | 显示全部楼层
hwc2ycy 发表于 2013-6-26 19:43
我说是的顺着\开始,一级一级来创建,这样就不会报错了。
比如C:\A\B\C
直接运行三条创建目录的语句

问题 就是我不知道 A 是什么 B 是什么 C 是什么
需要判断呀、。
而且出现的顺序也不一定一样。
回复

使用道具 举报

发表于 2013-6-26 20:40 | 显示全部楼层
=会来做,现在在听课了。
回复

使用道具 举报

发表于 2013-6-29 10:19 | 显示全部楼层    本楼为最佳答案   
  1. Sub test()
  2.     Dim arr, arrTemp
  3.     Dim strPath As String
  4.     Dim strTemp
  5.     Dim i As Long, j As Long
  6.     On Error Resume Next
  7.     strPath = ThisWorkbook.Path & Application.PathSeparator
  8.     arr = Sheet1.Range("a1").CurrentRegion
  9.     For i = LBound(arr) + 1 To UBound(arr)
  10.         strTemp = strPath
  11.         arrTemp = Split(arr(i, 1), "")
  12.         For j = LBound(arrTemp) To UBound(arrTemp)
  13.             strTemp = strTemp & arrTemp(j) & Application.PathSeparator
  14.             MkDir strTemp
  15.         Next
  16.     Next
  17. End Sub
复制代码
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-24 02:32 , Processed in 2.281334 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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