Share via


嗨,Scripting Guy!

嗨,Scripting Guy!

歡迎蒞臨 TechNet 專欄,Microsoft Scripting Guys 會在此為您解答有關系統管理指令碼的常見問題。您有關於系統管理指令碼方面的問題嗎?請將電子郵件傳送到 scripter@microsoft.com。我們無法保證能夠逐一回答每個問題,不過我們會盡力而為。

還有,別忘了瞧瞧全新經過改良的嗨,Scripting Guy!過往文件

今天的問題:如何新增超連結到 Excel 試算表?


如何新增超連結到 Excel 試算表?

嗨,Scripting Guy!如何新增超連結到 Excel 試算表?

-- J B-N

J B-N,您好。我們想先告訴您,最近一些媒體醜聞牽涉到如「The New York Times」等頗負盛名的組織,主要是因為有些作者牽涉到剽竊的行為。我們想趁這個機會給讀者保證,咱們 Scripting Guys 不會欺騙讀者,不會做出這種種不勞而獲的丟臉事。

但是為了回答今天的問題,我們不得不承認,我們的確是不勞而獲。許久之前 (英文),我們回覆了一個在 Microsoft Word 文件加入超連結的問題。 為了回答今天的問題,基本上我們把先前寫的指令碼拿過來,把Microsoft Word 換成 Microsoft Excel。為此,眾家 Scripting Guys 深感羞恥,這不是違背前面的誓言嗎!

嗯,這應該不算吧?萬一有人想知道怎麼在 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, "https://www.microsoft.com/technet/scriptcenter")

如你所見,我們先建立 Excel.Application 物件的執行個體,然後將 Visible 屬性設為 True,設定後者是為了能夠在 Microsoft Excel 上看見執行個體運作的情況。接下來使用這兩行程式碼建立新的活頁簿和新的工作表各一:

Set objWorkbook = objExcel.Workbooks.Add
Set objWorksheet = objWorkbook.Worksheets(1)

工作表準備好後,使用下列一行程式碼,把「Script Center」一詞加到儲存格 A1 內,也就是第 1 列第 1 欄:

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, "https://www.microsoft.com/technet/scriptcenter")

怎樣,很酷吧!我們剛才呼叫了 Add 方法並傳出兩個參數:第一個是 Range 物件 (objRange) 的參考,第二個是超連結的 URL (https://www.microsoft.com/technet/scriptcenter)。現在您按一下 A1 儲存格,就可以跳躍到 Script Center,

就像老牌《星際爭霸戰》影集的時空跳躍一樣!

好啦!我承認是沒有像《星際爭霸戰》的時空跳躍那麼神,各位讀者實在挑剔,咱們也招供了,Scripting Guys 想針對團隊成員發表一下更正聲明:Dean Tsaltas 其實來自加拿大,不是冥王星。Peter Costantini 其實沒有 537 歲 (到了四月就說不定了),Jean Ross 其實不是隻會說話的松鼠。Greg Stemp 根本沒有在 1937 年內布拉斯加州的選美大會奪冠,他連前十名都沒有擠進去。

各位讀者滿意了嗎?


如需詳細資訊

查看嗨,Scripting Guy!- 過往文件

 

回到頁首 回到頁首