Dzwebs.Net

撰写电脑技术杂文十余年

如何根据工作表名称自动创建文件夹目录

Admin | 2009-7-11 17:01:19 | 被阅次数 | 14796

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  在Excel中,我们如何根据当前工作薄的所有工作表的名称,自动建立与工作表名称相同的文件夹?

  要解决这个问题,必须得使用VBA来完成,请遵循如下方法,可解除您的困扰。

  一、理论知识指导

  通过Excel的VBA建立文件夹,代码很简单,方法如下:

  Dim result As String
  Dim SheetName As String
  result = Dir("F:\123\1", vbDirectory) '通过DIR函数,获取文件夹信息
  If result = "" Then        '判断文件夹是否存在
   MkDir ("F:\123\1")      '如何文件夹不存在,就创建文件夹
  Else
  MsgBox "该文件夹已经存在!" '如果文件夹存在,就不用再创建了。
  End If

  以上代码,使用到MkDir函数,用来建立文件夹,下面我们对该函数作个简单介绍。

  二、MkDir函数的介绍

  MkDir(Path):该函数只有一个参数Path,是必须填写的参数;代表文件夹所在的路径或位置。

  注意:Path 可能包含驱动器。如果未指定驱动器,则 MkDir 在当前驱动器上创建新的目录。

  三、实例

  通过上述代码的说明,下面,我们稍微对代码进行改良,就可以得到本例的效果了,即根据工作表名称自动建立对应的文件夹。

  首先,在excel中使用控件工具箱,拖出一个按钮,如下图!

  然后,鼠标直接双击那按钮,即可进入按钮的代码编写模式,如下图!

  上述的代码中,被选中部分就是我们所要输入的代码,没有选中的第一行和最后一行,是固定格式,不用修改。

  上述代码提到的“F:\123\“指的是根目录,我们所根据工作表名称,自动创建文件夹,就保存在这个文件夹里面了。

  好了,都做好了,就退出Excel并保存,然后重新打开这个XLS文件,最后,双击那按钮,就可以得到结果了,如下图!

  请看,上述就是得到的结果。

  四、知识扩展

  为方便大家的学习,下面贴出源代码,供大家使用:

  Dim result As String
  Dim SheetName As String
  For i = 1 To Worksheets.Count '循环
      SheetName = ""
      SheetName = "F:\123\"
      SheetName = SheetName + Trim(Worksheets(i).Name)
      result = Dir(SheetName, vbDirectory)
      If result = "" Then
        MkDir (SheetName)
      Else
        MsgBox "该文件夹已经存在!"
      End If
  Next

  上述代码的特性是:无论您的工作薄有几个工作表,每个工作表的名称如何变化,都能自动创建与之对应的文件夹,相当方便。


该杂文来自: Excel杂文

上一篇:Excel中的控件无法选中的解决办法

下一篇:利用Excel VBA查找同名学生并复制到另外一个表

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计