如何用指令碼編輯器來增強你的google應用程式

如果你使用谷歌應用程式,那麼很可能你沒有充分利用它們。使用googleapps指令碼,您可以新增自定義選單和對話方塊,編寫自定義函式和巨集,並構建擴充套件Google文件、工作表和幻燈片的附加元件。...

如何用指令碼編輯器來增強你的google應用程式

如果你使用谷歌應用程式,那麼很可能你沒有充分利用它們。使用googleapps指令碼,您可以新增自定義選單和對話方塊,編寫自定義函式和巨集,並構建擴充套件Google文件、工作表和幻燈片的附加元件。

什麼是谷歌應用指令碼(google apps script)?

googleapps指令碼是一個基於雲的開發平臺,用於建立定製的、輕量級的web應用程式。您可以直接在瀏覽器中構建可伸縮的應用程式,輕鬆地與Google產品整合。

Apps Script使用JavaScript語言,將web開發和Google產品的熟悉程度結合在一起,使其成為為您的企業、組織定製應用程式的完美工具,或者只是為了自動化日常任務。

您可以使用Google Apps指令碼**兩種型別的便籤:

  • 獨立:這些指令碼不繫結到任何服務,如Google文件、表單或幻燈片。它們可以執行系統範圍的功能,有點像巨集。它們不適合與更廣泛的受眾共享,因為您需要複製和貼上程式碼才能使用它們。例如,在驅動器中搜索具有特定名稱的檔案,或檢視誰有權訪問驅動器中的共享檔案和資料夾。
  • 繫結:這些連結到Google文件、表單或幻燈片檔案。繫結指令碼擴充套件了檔案的功能,並且只在該特定檔案中執行操作。例如,向服務或指令碼新增自定義選單、對話方塊和側邊欄,以便在工作表中的特定單元格發生更改時透過電子郵件向您傳送通知。

如果你不太懂JavaScript,或者你以前從未聽說過它,不要讓它嚇跑你去開發你自己的指令碼。使用Apps指令碼非常容易,因為它提供了大量的文件和示例供您自己測試。下面是幾個簡單的例子,幫助您瞭解它們是如何工作的。

如何建立獨立指令碼

既然您知道它們是什麼,那麼讓我們繼續建立您的第一個獨立指令碼。我們將使用Google的一個程式碼示例來幫助我們進行開發,如果您不熟悉GoogleScript或JavaScript,我們將提供程式碼行的解釋。

前往谷歌應用程式指令碼。在左上角,單擊漢堡包圖示,然後單擊“新建指令碼”

如何用指令碼編輯器來增強你的google應用程式

開啟一個新的無標題專案,裡面有一個空函式,但是因為我們使用的是來自Google的示例程式碼,所以您可以繼續刪除檔案中的所有文字。

如何用指令碼編輯器來增強你的google應用程式

注意:你需要登入到你的谷歌帳戶,這個指令碼才能工作。

刪除檔案中預載入的程式碼後,貼上以下程式碼:

//Initialize your function function createADocument() { // Create a new Google Doc named 'Hello, world!' var doc = DocumentApp.create('Hello, world!'); // Access the body of the document, then add a paragraph. doc.getBody().appendParagraph('This document was created by Google Apps Script.'); }

在執行程式碼之前,必須先儲存指令碼。單擊“檔案”,然後單擊“儲存”

如何用指令碼編輯器來增強你的google應用程式

將專案重新命名為可以幫助您記住指令碼所做的事情,然後單擊“確定”

如何用指令碼編輯器來增強你的google應用程式

要執行程式碼,請單擊工具欄中的“播放”圖示。

如何用指令碼編輯器來增強你的google應用程式

在你第一次點選“執行”後,你必須透過彈出視窗授予指令碼一些訪問你的Google帳戶的許可權。單擊“檢視許可權”檢視需要訪問的內容。

如何用指令碼編輯器來增強你的google應用程式

因為這不是一個谷歌驗證的應用程式,你會得到另一個警告。它基本上是這樣說的,除非你知道開發者(我們)只有在你信任他們的情況下才能繼續。單擊“Advanced”,然後單擊“GotoCreateNewDoc”(或者您為這個指令碼命名的任何東西)。

如何用指令碼編輯器來增強你的google應用程式

檢查指令碼所需的許可權,然後單擊“允許”

如何用指令碼編輯器來增強你的google應用程式

太好了!現在,去你的驅動器,如果一切順利,“你好,世界!“檔案應該在那裡。雙擊開啟。

如何用指令碼編輯器來增強你的google應用程式

開啟檔案時,您將看到程式碼新增到文件中的一行文字。

如何用指令碼編輯器來增強你的google應用程式

現在,如果您想在建立文件時收到電子郵件通知,您可以再新增幾行程式碼,自動將一行程式碼傳送到您的Google帳戶。在後面新增以下程式碼行getBody博士().appendParagraph('此文件是由Google Apps指令碼建立的。');但在最後一個大括號之前}:

// Get the URL of the document. var url = doc.getUrl(); // Get the email address of the active user - that's you. var email = Session.getActiveUser().getEmail(); // Get the name of the document to use as an email subject line. var subject = doc.getName(); // Append a new string to the "url" variable to use as an email body. var body = 'Link to your doc: ' + url; // Send yourself an email with a link to the document. GmailApp.sendEmail(email, subject, body);

單擊“執行”圖示。

如何用指令碼編輯器來增強你的google應用程式

因為您添加了一些需要額外許可權的額外行,所以您必須執行與以前相同的過程。單擊“檢視許可權”

如何用指令碼編輯器來增強你的google應用程式

單擊“高階”,然後單擊“轉到CreateNewDoc”

如何用指令碼編輯器來增強你的google應用程式

注意:當Google警告你要啟動未經驗證的應用程式時,你也會收到一封安全警報郵件通知你。谷歌這樣做只是為了防止你不是授權訪問未經驗證的應用程式的人。

檢視指令碼所需的新許可權集,然後單擊“允許”

如何用指令碼編輯器來增強你的google應用程式

建立文件時,您將收到一封電子郵件,其中包含指向Google驅動器中檔案的連結。

如何用指令碼編輯器來增強你的google應用程式

點選連結可以直接找到檔案,它在你的Google驅動器中。

如何用指令碼編輯器來增強你的google應用程式

如何建立繫結指令碼

對於下一個示例,讓我們為googlesheets建立一個繫結指令碼,該指令碼解析一行中的重複條目的現有工作表,然後刪除它們。

如果您還記得以前的話,繫結指令碼就像特定檔案的附加元件一樣工作,那麼要建立一個繫結指令碼,讓我們開啟一個包含至少一個重複資料點的現有googlesheet電子表格。

如何用指令碼編輯器來增強你的google應用程式

單擊“工具”,然後單擊“指令碼編輯器”

如何用指令碼編輯器來增強你的google應用程式

googleapps指令碼將在一個新選項卡中開啟,其中包含一個空指令碼。不過,這一次,指令碼將繫結到開啟它的工作表。

如何用指令碼編輯器來增強你的google應用程式

與前面一樣,刪除空函式並貼上以下程式碼:

//Removes duplicate rows from the current sheet. function removeDuplicates() { //Get current active Spreadsheet var sheet = SpreadsheetApp.getActiveSheet(); //Get all values from the spreadsheet's rows var data = sheet.getDataRange().getValues(); //Create an array for non-duplicates var newData = []; //Iterate through a row's cells for (var i in data) { var row = data[i]; var duplicate = false; for (var j in newData) { if (row.join() == newData[j].join()) { duplicate = true; } } //If not a duplicate, put in newData array if (!duplicate) { newData.push(row); } } //Delete the old Sheet and insert the newData array sheet.clearContents(); sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData); }

注意:要使指令碼刪除重複項,行中的所有單元格都必須匹配。

儲存並重命名指令碼,然後點選“執行”圖示。

如何用指令碼編輯器來增強你的google應用程式

同樣,當您在建立的上一個指令碼中遇到問題時,您必須檢查指令碼所需的許可權,並授予它訪問電子表格的許可權。單擊“檢視許可權”檢視此指令碼需要什麼訪問許可權。

如何用指令碼編輯器來增強你的google應用程式

接受提示並單擊“允許”以授權指令碼。

如何用指令碼編輯器來增強你的google應用程式

在它執行完之後,回到你的工作表,就像魔術一樣,所有重複的條目都會從你的檔案中消失!

如何用指令碼編輯器來增強你的google應用程式

不幸的是,如果您的資料在一個表中,如上面的例子,這個指令碼將不會調整表的大小,以適應其中的條目數。


儘管這是兩個關於如何使用Apps指令碼的非常簡單的例子,但是選項幾乎是無限的,這完全取決於你能用這些資源想出什麼。但與此同時,請訪問GSuite Devs Github頁面或Digital Inspiration,檢視您可以在自己的服務中部署的一堆示例指令碼,以便更好地瞭解應用程式指令碼真正能夠做什麼。

  • 發表於 2021-04-03 16:11
  • 閱讀 ( 53 )
  • 分類:網際網路

你可能感興趣的文章

codea如何讓你建立自己的ipad應用程式

...在Codea中啟動一個新專案時,您將看到一個基本的helloworld指令碼。無論您是新的編碼或只是新的程式,它值得修補一下。 ...

  • 發佈於 2021-03-13 01:19
  • 閲讀 ( 44 )

如何用photoshop指令碼自動化photoshop

Photoshop是一個很好的編輯影象的工具——我們是這裡的超級粉絲,這已經不是什麼祕密了。我們之前已經介紹瞭如何設計一個簡單的logo,以及如何修復過度曝光的照片,所以一旦掌握了基本知識,自動化是下一個合乎邏輯的步...

  • 發佈於 2021-03-13 07:15
  • 閲讀 ( 59 )

如何用google指令碼在google表單中傳送電子郵件

googlescripts是一個強大的工具,可以用來自動化Google生產力工具,比如表單和文件。自動傳送電子郵件的能力使它成為一個非常強大的工具。 ...

  • 發佈於 2021-03-14 04:11
  • 閲讀 ( 45 )

VisualStudio程式碼是mac的完美文字和指令碼編輯器

...一個匆忙衝出Windows版本的埠。程式碼對於簡單的自動化指令碼來說是很好的,但是外掛支援才是它真正的亮點。 ...

  • 發佈於 2021-03-14 07:11
  • 閲讀 ( 55 )

是的,你可以隨時編寫程式碼:7個最適合android的html編輯器

...,具有可定製的語法高亮顯示,甚至可以用作SL4A(Android指令碼層)編輯器。 ...

  • 發佈於 2021-03-14 22:55
  • 閲讀 ( 62 )

試試這些很棒的火箭聯盟mods來增強你的遊戲

...本文時,由於mods只存在了幾個月,所以在此之前沒有任何用處。向下滾動並訂閱地圖籃球訓練,然後是星際弧訓練。地圖將自動下載。 ...

  • 發佈於 2021-03-15 01:23
  • 閲讀 ( 47 )

10個必要的應用程式來增強你的新chromebook

... 如果你想做一些影片編輯的飛行,安裝這個應用程式。 ...

  • 發佈於 2021-03-15 07:10
  • 閲讀 ( 49 )

mac的8個最佳免費和付費影象編輯器

蘋果mac是非常適合照片編輯的裝置,特別是對於專業人士。Mac的視網膜顯示器,加上強大的處理器,使影象編輯工作流程無縫。 ...

  • 發佈於 2021-03-20 12:00
  • 閲讀 ( 64 )

什麼是applescript?編寫第一個mac自動化指令碼

如果你在編寫指令碼的世界裡感到舒服,並且在Mac上工作,AppleScript可能是你的自動化解決方案。AppleScript是一種功能強大的語言,只要它提供AppleScript庫,就可以控制任何應用程式。 ...

  • 發佈於 2021-03-20 16:33
  • 閲讀 ( 58 )

如何開始與樹莓皮生鏽

...專案的父資料夾中,開啟貨物.toml在程式碼編輯器中。任何用JavaScript或Ruby編寫過程式碼的人都可能會發現這一點。專案資訊、生成說明和依賴項都列在此檔案中。包被稱為生鏽的板條箱,我們稍後將使用一個訪問樹莓Pi的GPIO引...

  • 發佈於 2021-03-21 09:18
  • 閲讀 ( 58 )