您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 用Excel做一个文件夹的目录索引
用Excel做一个文件夹的目录索引,需要能实时更新的生成“个人宏工作簿”为了让“目录”按钮对所有工作簿都有效,我们需要将其保存在“个人宏工作簿”中。第一次使用“宏”这个功能时,需要先让软件生成一个隐藏的“个人宏工作簿”。执行“工具→宏→录制新宏”命令(如图),按“保存在”右侧的下拉按钮,选中“个人宏工作簿”选项后,“确定”进入“宏”录制状态;不需要进行任何操作,直接单击随后展开的“宏”工具条中的“停止录制”按钮,软件会自动生成一个隐藏的“个人宏工作簿”。以后想在“个人宏工作簿”中编辑宏时,就不需要再进行此步操作了。编辑制作“目录”宏执行“工具→宏→VisualBasic编辑器”命令(或直接按“Alt+F11”),进入VBA编辑状态。在左侧“工程资源管理器”中,展开“VBAProject(PERSONAL.XLSB)”选项(这就是“个人宏工作簿”),双击其中的“模块1”,然后用下述代码替换右侧编辑区中的原有代码:Subml()OnErrorResumeNext'如果出现错误,继续运行下面的代码zzml=选择要制作目录的文件夹'以下代码弹出一个选择文件夹对话框Setmlzz=CreateObject(Shell.Application).BrowseForFolder(0,zzml,&H1)lj=mlzz.Self.Path'将选中文件夹的路径传递给变量ljCells(1,1)=序号'以下代码在A1、B1、C1单元格中输入列标题文本内容Cells(1,2)=文件名称Cells(1,3)=文件类型DimwjAsString'声明一个变量wjwj=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.AddAnchor:=Selection,Address:=wj,TextToDisplay:=wj'在上述单元格中输入文件名称wj=Dir'进入下一个循环LoopUntilLen(wj)=0'直到文件名称字节为0(即无文件)时,终止循环Columns(A:C).Select'以下代码将列设置为最合适列宽及水平居中格式Columns(A:C).EntireColumn.AutoFitWithSelection.HorizontalAlignment=xlCenter.VerticalAlignment=xlCenterEndWithCells(1,1).Select'选中A1单元格Application.DisplayAlerts=False'进行下面保存时直接覆盖以前的同名文档,不给出提示ActiveWorkbook.SaveAsFilename:=lj&\&mlzz.Self.Name&目录.xls'保存目录文档ActiveWindow.Close'关闭当前文档窗口Application.DisplayAlerts=True'恢复覆盖文档时提示Workbooks.Add'新建一个新的空白文档EndSub输入完成后,关闭VBA编辑窗口返回到Excel编辑状态。制作目录。启动Excel2003,执行“工具→宏→宏”命令,双击上面制作的宏,选中需要制作目录的文件夹,确定,即可制作出一个目录文件,点击文件名称,就能快速打开相应的文档进行浏览。
本文标题:用Excel做一个文件夹的目录索引
链接地址:https://www.777doc.com/doc-7499614 .html