宏是一種小型腳本,可用于幫助您輕松應對日常工作并處理不同類型的文檔。ONLYOFFICE 宏中使用了 JavaScript 文法與 ONLYOFFICE 文檔生成器 API 腳本标注。
ONLYOFFICE 選擇在宏中使用 JavaScript 的原因有多個:
- 跨平台,
- 便于使用,
- 安全,因為宏沒有通路系統的權限。其隻是運作于編輯器視窗中的 JS 代碼。
請注意,從版本 7.1 開始,宏對于 window 與 document 對象以及 alert 函數的通路權限就受到了限制,因為我們在宏腳本中應用了“嚴格模式”。别忘記在使用變量前進行聲明,這樣宏才能正常工作。
您可在這裡找到可立即使用的宏,也可自行進行建立。
編寫您自己的宏
現在相信您已經了解了宏的工作方式,接下來可以自己嘗試編寫一個宏。假設我們手頭有一張表格,并且需要使其隔行使用不同的背景色(即:奇數行為綠色,偶數行為紅色)。表格中共有 200 行、A 至 S 列,如果手動操作的話會花費很多時間。是以,此時使用宏将是最佳的解決方案。
1、打開 ONLYOFFICE 編輯器并建立電子表格。
2、然後打開插件标簽頁并選擇宏。此時将打開宏視窗。
3、點選建立。此時将出現基本函數封裝工具,您可在其中輸入必要的代碼:
(function()
{
// ... your code goes here ...
})();
4、然後我們來看看 ONLYOFFICE 文檔生成器的 API 文檔以了解為了完成這項工作我們需要做些什麼:
- 首先,使用 GetActiveSheet 方法擷取目前工作表:
var oWorksheet = Api.GetActiveSheet();
- 然後建立循環,從首行周遊至末行:
for (var i = 1; i < 200; i += 2) {
}
- 設定 2 個變量,分别代表奇數行和偶數行:
var rowOdd = i, rowEven = i + 1;
- 現在我們将可對奇數行和偶數行進行通路,并且為其設定合适的樣色。使用 CreateColorFromRGB 方法設定顔色。使用 GetRange 方法來擷取行内的單元格,然後為奇數行設定顔色:
oWorksheet.GetRange("A" + rowOdd + ":S" + rowOdd).SetFillColor(Api.CreateColorFromRGB(118, 190, 39));
對于偶數行也可采用相同的操作,隻需要顔色不同即可:
oWorksheet.GetRange("A" + rowEven + ":S" + rowEven).SetFillColor(Api.CreateColorFromRGB(186, 56, 46));
下面就讓我們來看看完整的腳本代碼:
(function()
{
var oWorksheet = Api.GetActiveSheet();
for (var i = 1; i < 200; i += 2) {
var rowOdd = i, rowEven = i + 1;
oWorksheet.GetRange("A" + rowOdd + ":S" + rowOdd).SetFillColor(Api.CreateColorFromRGB(118, 190, 39));
oWorksheet.GetRange("A" + rowEven + ":S" + rowEven).SetFillColor(Api.CreateColorFromRGB(186, 56, 46));
}
})();
将上方的代碼粘貼至宏視窗中,然後點選運作。這樣用不到 1 秒鐘的時間我們就實作了 1-200 行内的交替着色。
配置設定宏
在電子表格編輯器中,您可為圖形對象配置設定宏:
- 右鍵點選圖形對象。
- 點選配置設定宏。
- 在彈出的視窗中選擇宏。您可在相應的字段中輸入宏名稱。
- 點選 OK 按鈕。
運作宏時,隻需點選圖形對象即可執行腳本。
ONLYOFFICE 文檔免費線上宏課程
近期,我們将開始釋出有關 ONLYOFFICE 解決方案的免費視訊課程。首個視訊課程将關注 ONLYOFFICE 文檔中的宏,現已在 YouTube 上提供。