第一章 入门篇

1.26 超链接

在上一节中,我们用Dir语句把指定文件夹里的指定类型的文件写到表格里了。如果在文件名称上加上超链接,点击超链接直接打开文件,会让我们的日常办公更加方便快捷。

先让我们来看看超链接的语法:

expression.Add(Anchor,Address,SubAddress,ScreenTip,TextToDisplay)

大家看了这个是不是有点懵圈?这是啥呀这是?

让我们换一种方式来表达超链接的语法:

ActiveSheet.Hyperlinks.Add 超链接放的位置(必选),超链接地址(必选),子地址(可选),鼠标放在超链接上显示的提示(可选),超链接显示字符(可选,默认显示地址)

在活动工作表建立一个超链接,说清楚这个超链接放在哪个单元格,要链接哪个文件,一个超链接就完成了!

建议:超链接显示字符这个参数最好设置为显示文件名称,要不然它会显示完整的文件路径,一大串字符串,让人看得头晕!

例句:

Sheet1.Hyperlinks.Add Cells(1, 1), "F:\VBA学习\VBA学习.xls", , , filename

在表1的“a1”单元格建立一个超链接,链接"F:\VBA学习\VBA学习.xls"这个文件,在“a1”单元格显示"VBA学习.xls"。如果不在最后加上filename这个参数,那么在“a1”单元格里显示的内容就是"F:\VBA学习\VBA学习.xls"。filename这个参数是我们在程序里用到的变量名称,在下面的小程序里我们会看到它的来源。

小程序:

我们还是沿用上节课用到的例子,查询指定文件夹下的指定类型的文件,把文件列表写到表格里去,然后加上超链接。

序号

文件名称

文件类型

xls

查询

Sub dir获取文件名()

Dim 地址$, filename$, n%, 类型$

地址 = "F:\VBA学习\"

类型 = [b10] '选取文件类型

filename = Dir(地址 & "*" & 类型)

Do

n = n 1

Cells(n 1 , 1) = n

Sheet1.Hyperlinks.Add Cells(n 1, 2), 地址 & filename, , , filename

'参数含义:放置单元格(1)、超链接地址(2)、显示名称(5)

filename = Dir

Loop Until filename = ""

End Sub

与上节课不同的是,上节课我们在B列单元格直接填入了循环到的文件名称。这节课我们在该列单元格建立一个超链接,链接到循环到的文件,单元格里显示的内容是循环到的文件名称。运行小程序,就会得到下面的效果:

vba入门书(学习VBA报表做到飞)(1)

通过选择文件类型,查询到指定文件目录下的该类型的所有文件,列出清单,并且都加上了超链接,想打开哪个文件直接点击就OK了。这个程序虽然短小,但对于管理自己的文件,岂不是非常方便?这个小程序里的地址是写死的,我们也可以这样写:

地址 = InputBox("请输入文件地址:")

让用户在程序开始就输入要查询文件的地址,这样这个小程序的用法就更加灵活了。

往期精彩回顾:

学习VBA,报表做到飞 第一章 入门篇 1.25 Dir语句

学习VBA,报表做到飞 第一章 入门篇 1.24 Do Loop语句

学习VBA,报表做到飞 第一章 入门篇 1.23 With语句

我是云飞扬,职场财会人员,愿与大家分享表格制作和数据统计分析的技巧与方法,希望大家的工作更便捷,更轻松!

,