這篇教學是 InDesign 進階的必學技巧之一,原本我覺得這個應該可以不用特別寫出來。不過夥伴看了上一篇告訴我,如果你要把指令碼發給客戶來用,那你要先確定你的客戶「會安裝指令碼」,不然你就是「白寫」了。😭
誒誒誒?那……好吧!所以現在先把寫程式的事情丟在一邊,讓我們從安裝與使用來開始。

什麼是指令碼(Script)
用最簡單的理解方式就是,有些 InDesign 缺少的功能,官方不知道何時會補上。而有技術能力的開發者透過 Adobe SDK 的指引,開發出讓 InDesign 更好使用的外掛功能,而那些外掛程式只能在 InDesign 所指定的「指令碼」面板裡面安裝並執行。
「指令碼」只是 Adobe 給它的名稱,你也可以稱為「外掛、增強程式、額外功能」,反正就是非官方的工具。
從指令碼變成內建的功能
當然,官方如果參考了開發者做的指令碼,發現有價值的功能,就會把它從外掛的指令碼變成內建的功能。
這其中最有名的案例就是「註腳和尾註轉換工具」(FootNote to EndNote)。
不過,Adobe 是不是有付錢給當初想到這個指令碼的開發者,就不得而知了。(依照我對這家公司的理解應該是沒有)
所以如果在 Adobe 開發者社群中較為有名的外掛,都很有可能未來被官方「瓢竊」轉換成軟體內正式的功能。🤣
如何使用指令碼
指令碼的使用方式就是,透過「視窗 > 公用程式> 指令碼」叫出它的面板。
InDesign 可以用的指令碼格式有 AppleScript(.scpt 或 .applescript)、VBScript(.vbs)或是 JavaScript(.jsx 或是 .jsxbin)。不過因為 JavaScript 可以跨平台使用,所以大多數的開發者應該和我一樣,都會選擇用這種格式來作為開發基礎。
所以你在指令碼面板上直接 Diuble Click 指令碼即可執行它。

哪裡可以下載指令碼
Adobe 曾經推過類似 Extend Script 的商城,現在發展到了 CC 的版本後幾乎都整合到「Adobe Exchange」下面。
https://exchange.adobe.com/apps/browse/cc?product=All&listingType=plugins&sort=MOST_RECENT
不過 InDesign 也支援讓你自行安裝第三方的 ExtendScript 指令,最有名的應該就是:
第三方的指令碼算是開源軟體的一部分,有些指令碼是免費的,通常你也可以在 GitHub 找到。
如何安裝指令碼
先開啟你 InDesign 的指令碼面板,在「視窗 > 公用程式 > 指令碼」可以呼出指令碼面板。

在指令碼面板中,你會看到「應用程式、社群、使用者」三個資料夾。建議將自訂指令放在「使用者」資料夾內。在「使用者」資料夾上點擊滑鼠右鍵:
- macOS:顯現在 Finder 中。
- Windows:在檔案總管中顯示。
系統會自動跳轉到對應的資料夾路徑,名稱通常為 Scripts Panel。

把你下載到的 .jsx 或 .jsxbin 把它放在 Scripts Panel 裡面即可。
除了自訂指令碼之外,InDesign 在「應用程式」和「社群」那兩個資料夾內也預先放置了幾個指令碼樣本,如果你手邊沒有可以嘗試的指令碼,可以先玩那幾個。
我推薦你可以先體驗那個「應用程式 > Samples > JavaScript > PlaceMultipagePDF.jsx」
這是一個可以把 PDF 檔案每一頁用批次的方式快速的把它貼到你現在開的檔案上,搭配好文件尺寸和物件樣式,你可以把 PDF 整本書籍全部置入到 InDesign 裡面來加工,非常的方便。
現在,你已經會使用指令碼了,你隨時可以開始用指令碼來加快手上的編排工作。
用雲端同步的方式來管理自己的指令碼
如果你像我一樣會在多台電腦上工作,不想每一台電腦指令碼要各別安裝,那麼我會建議你用雲端來管理、收集你的指令碼。
我使用 iCloud 雲碟
其實不管你用哪一個雲端 Sync 工具,都可以做到相同的事情,只是我現階段習慣用 iCloud 雲碟開發程式時順便線上自動同步,這樣可以方便我在其他電腦上可以得到同步開發進度的檔案,甚至我在 iPhone、iPad 也能夠透過其他程式編輯工具來修改程式。(我會在捷運車廂上用手機繼續開發程式)🤣

如果你要改用 Dropbox、Google Drive、Microsoft One Drive 也是可以的,只要把你想放的資料夾的替身(捷徑)放在指令碼裡面,在 InDesign 就可以透過面板直接呼叫執行,非常便利。
這篇指令碼的初級教學我就分享到這邊,如果我的文章有幫助到你,歡迎轉發、贊助,或者是一個小小的按讚,都是給我持續寫下去的動力。🙂

















