您好,J B-N。首先,我们想指出我们对最近发生的所有媒体丑闻都相当了解,包括像纽约时报这样有威望的组织。正如您所知道的那样,大部分丑闻都围绕着那些言行不一的作家。我们原想稍憩片刻好让每个人的神经放松一下:脚本专家从来不靠投机取巧来让读者误以为我们做了自己其实并没有做的工作。
好吧,好吧,我们承认:在到了该回答此问题的时候,我们其实什么也没有做。不久前我们回答过一个关于向 Microsoft Word 文档添加超链接的类似问题。为了回答本问题,我们几乎可以照搬自己为该专栏编写的脚本,只要删去 Microsoft Word,然后写上 Microsoft Excel 就行了。为此,我们感到羞愧难安,我们允诺决不会再发生类似的事情。
不过,除非有人想知道如何向 PowerPoint 演示文稿添加快捷方式……。
不可否认,我们的确并没有为今天的专栏而把自己搞得精疲力竭;然而,从好的一面看,每个人都会从本次论述中获得一个有用的小脚本。如果您想要向 Excel 电子表格添加超链接,下面就是您需要做的:
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add
Set objWorksheet = objWorkbook.Worksheets(1)
objWorksheet.Cells(1, 1) = "Script Center"
Set objRange = objExcel.Range("A1")
Set objLink = objWorksheet.Hyperlinks.Add _
(objRange, "http://www.microsoft.com/technet/scriptcenter")
如您所见,首先,我们创建了 Excel.Application 对象的一个实例,然后将 Visible 属性设置为 True;这样,就得到了一个可以在屏幕上显示的 Microsoft Excel 运行实例。接着,我们使用下面两行代码创建了一个新的工作簿和一个新的工作表:
Set objWorkbook = objExcel.Workbooks.Add
Set objWorksheet = objWorkbook.Worksheets(1)
有了该工作表之后,我们紧接着使用下面这行代码,向单元格 A1(即第 1 行、第 1 列的单元格)添加词语“Script Center”:
objWorksheet.Cells(1, 1) = "Script Center"
您可能已经猜出,我们将使用 Script Center 作为超链接文本。
好了,那么超链接又该如何处理呢?嗯,首先,我们需要创建 Excel Range 对象的一个实例,此实例将含有该超链接文本。由于我们要在单元格 A1 中显示超链接,因此我们创建了一个仅包含单元格 A1 的范围:
Set objRange = objExcel.Range("A1")
现在,剩下要做的就是调用 Add 方法,向 Hyperlinks 集合添加新链接。以下代码显示了我们是如何做到这一点的:
Set objLink = objWorksheet.Hyperlinks.Add _
(objRange, "http://www.microsoft.com/technet/scriptcenter")
是不是很简单?我们只是调用了 Add 方法,并向它传递了两个参数:所用 Range 对象 (objRange) 的对象引用以及超链接的 URL (http://www.microsoft.com/technet/scriptcenter)。您现在就能通过单击单元格 A1 而抵达脚本中心了。
是的,这简直就像是老电视片《星舰迷航记》中的传送机。
好吧,好吧,我们承认:它一点也不像老电视片《星舰迷航记》中的传送机。各位真是难对付的读者,如果这样坚持下去,我们可能就得偶尔吐次真言了。考虑到这一点,脚本专家愿意做出以下更正:Dean Tsaltas 来自加拿大,而不是冥王星。Peter Costantini 没有 537 岁(至少在四月份之前还不到),Jean Ross 不是一个长舌妇。最后,Greg Stemp 没有在 1937 年度内布拉斯加小姐选美大会中折桂;事实上,他甚至连前 10 名都没进。
想必您现在该满意了吧。