excel学习之一:让Excel为文件点名(附工具下载)

   当一个文件夹中保存了多个文件后,要找到其中某个文件,是不是比较麻烦?唱完下面的三步曲以后,你就可以用Excel 2003轻松制作一个带有超级链接的目录文档了。Let's Go。

序曲:生成“个人宏工作簿”
    为了让“目录”按钮对所有工作簿都有效,我们需要将其保存在“个人宏工作簿”中。第一次使用“宏”这个功能时,需要先让软件生成一个隐藏的“个人宏工作簿”。
    执行“工具→宏→录制新宏”命令,打开“录制新宏”对话框,按“保存在”右侧的下拉按钮,选中“个人宏工作簿”选项后,“确定”进入“宏”录制状态;不需要进行任何操作,直接单击随后展开的“宏”工具条中的“停止录制”按钮,软件会自动生成一个隐藏的“个人宏工作簿”。
    小提示:以后需要在“个人宏工作簿”中编辑宏时,就不需要再进入此步操作了。

高潮:编辑制作“目录”宏
    执行“工具→宏→Visual Basic编辑器”命令,进入VBA编辑状态。
    小提示:直接按“Alt+F11”功能键,即可快速进入VBA编辑状态。
    在左侧“工程资源管理器”中,展开“VBAProject(PERSONAL.XLSB)”选项(这就是“个人宏工作簿”),双击其中的“模块1”,然后用下述代码替换右侧编辑区中的原有代码:
    Sub ml()
    On Error Resume Next '如果出现错误,继续运行下面的代码
    zzml = "选择要制作目录的文件夹" '以下代码弹出一个选择文件夹对话框
    Set mlzz = CreateObject("Shell.Application").BrowseForFolder(0, zzml, &H1)
    lj = mlzz.Self.Path '将选中文件夹的路径传递给变量lj
    Cells(1, 1) = "序号" '以下代码在A1、B1、C1单元格中输入列标题文本内容
    Cells(1, 2) = "文件名称"
    Cells(1, 3) = "文件类型"
    Dim wj As String '声明一个变量wj
    wj = Dir(lj & "\*.*") '浏览上述选定文件夹中的所有文件
    Do '开展一个循环
    Cells(([A65536].End(xlUp).Row + 1), 1) = [A65536].End(xlUp).Row '从下向上判断A列有数据的行,并在其下一单元格中输入行序号作为文件序号
    Cells(([C65536].End(xlUp).Row + 1), 3).FormulaR1C1 = "=MID(RC[-1],FIND(""."",RC[-1])+1,LEN(RC[-1])-FIND(""."",RC[-1]))" '从下向上判断C列有数据的行,并在其下一单元格中输入公式,用于提出文件的扩展名,便于后续排序操作
    Cells(([B65536].End(xlUp).Row + 1), 2).Select '从下向上判断B列有数据的行,并选中其下一单元格
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=wj, TextToDisplay:=wj '在上述单元格中输入文件名称
    wj = Dir '进入下一个循环
    Loop Until Len(wj) = 0 '直到文件名称字节为0(即无文件)时,终止循环
    Columns("A:C").Select '以下代码将列设置为最合适列宽及水平居中格式
    Columns("A:C").EntireColumn.AutoFit
    With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    End With
    Cells(1, 1).Select '选中A1单元格
    Application.DisplayAlerts = False '进行下面保存时直接覆盖以前的同名文档,不给出提示
    ActiveWorkbook.SaveAs Filename:=lj & "\" & mlzz.Self.Name & "目录.xls" '保存目录文档
    ActiveWindow.Close '关闭当前文档窗口
    Application.DisplayAlerts = True '恢复覆盖文档时提示
    Workbooks.Add '新建一个新的空白文档
    End Sub
   输入完成后,关闭VBA编辑窗口返回到Excel编辑状态。
    小提示:代码中英文单引号及其后续字符,是对代码的解释,在实际输入中,可以不需要输入。

尾声:制作目录
    启动Excel 2003,执行“工具→宏→宏”命令,打开“宏”对话框,双击上面制作的宏,打开打开“浏览文件夹”对话框(如图3),选中需要制作目录的文件夹,按下“确定”按钮,即刻制作出一个如图4所示的目录文件,点击其中的文件名称,即可快速打开相应的文档进行浏览。
    小提示:①编辑了“个人宏工作簿”后,退出Excel时,会弹出一个提示保存的对话框,请单击其中的“是(Y)”按钮,保存上述宏代码。②运行上述宏后,软件自动制作一个名称是“文件夹名称+目录.xls”工作簿文档,并将该文档保存到相应文件夹中,然后关闭该文档,并新建一个空白文档,等待进行下一个目录的制作。③如果读者使用的是Excel 2007,请根据第7期《智能电子评分表 Excel中的“战斗机”》的操作,展开“开发工具”菜单选项卡,利用其中的相应按钮完成上述有关宏的操作即可。

感谢作者——安徽马鞍山市的陈秀峰为大家提供的实用技巧!如转载,请注明出处为《电脑爱好者》以及作者姓名,谢谢。

工具下载

文件夹文件目录生成工具

评论

© 教研员园地 | Powered by LOFTER