加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Vba实现同一文件夹下的批量文件生成excel表格超级链接

(2013-03-17 10:14:40)
标签:

杂谈

分类: excel

查看原文:http://www.excel520.com/1612.html

最近excel实践者比较忙了,所以更新博文迟了。今天来介绍一个函数教程学员遇到的一个问题。值得庆贺的事,函数入门教程购买的学员已经突破100人了。下述要介绍的vba代码是网上找的。Vba编程是个好东西,对于非编程出生的人员,学好编程很难,但是入门,我感觉还是比较容易的。我们能看懂vba编程并去整合修改代码,为我所用,我觉得是足够了。今天要介绍的代码,也不是我的。说实话,这段代码,对于非编程人员太难了,我只是整合了下为自己所用罢了。

该excel运行下的vba编程的效果就是把同一文件夹下的批量文件生成一个个能在excel工作表里生成超级链接。方便以后,不沿着路径去打开,也能实现对文件的调用等操作。

以下为完全代码,下面的源文件里也有。具体操作是启用宏,点快捷键alt+F11进入VBE编辑器,复制下段代码进去,点击运行。关于宏和编程的入门使用,请看这篇 尚西博客中的视频介绍

Vba代码如下:Sub add_link()

On Error GoTo err_exit

Dim fd As FileDialog

Set fd = Application.FileDialog(msoFileDialogFolderPicker)

Dim vritem As Variant

With fd

If .Show = -1 Then

i = 0

For Each vritem In .SelectedItems

i = i + 1

dname = vritem

Next vritem

If i >= 2 Then

MsgBox ("不能够选择多个文件夹,请重新选择")

Exit Sub

End If

End If

End With

Set fd = Nothing

dir_name = (dname & "")

strfilename = Dir(dir_name)

J = 0

n = 2

Do While strfilename <> ""

Sheets(1).Cells(n, 1) = strfilename'sheets(1)代表结果反映在第一个表里,改成2就是第二个表了。下同

Sheets(1).Hyperlinks.Add Anchor:=Sheets(1).Cells(n, 1), Address:=dir_name & strfilename

n = n + 1

J = J + 1

strfilename = Dir

Loop

err_exit:

Exit Sub

End Sub

为方便使用,使用控件生成按钮,具体界面类似如此。http://www.excel520.com/wp-content/uploads/2013/03/031713_0214_Vba1.jpg

今天就为大家介绍到这里。有疑问可以留言板或此处留言交流。

Excel实践者作于2013/3/17

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有