Google Appsを使用している場合、あなたはそれらを最大限に使用していない。 Google Apps Scriptを使用すると、カスタムメニューやダイアログを追加したり、カスタム関数やマクロを記述したり、アドオンを構築してGoogleドキュメント、スプレッドシート、スライドを拡張したりできます。
Google Apps Scriptとは何ですか?
Google Apps Scriptはクラウドベースの開発ですカスタムの軽量Webアプリケーションを作成するためのプラットフォーム。 Google製品と簡単に統合できるスケーラブルなアプリケーションをブラウザ内で直接構築できます。
Apps ScriptはJavaScript言語を使用し、ウェブ開発とGoogle製品の親しみやすさを1か所にまとめて、ビジネス、組織、または日常的なタスクを自動化するためにアプリをカスタマイズするのに最適なツールにしています。
Google Apps Scriptで2種類のスクリプトを作成できます。
- スタンドアロン: これらのスクリプトはどのサービスにもバインドされていません。たとえばGoogleドキュメント、スプレッドシート、スライド。マクロのようなシステム全体の機能を実行できます。これらを使用するには、コードをコピーして貼り付ける必要があるため、より多くのユーザーと共有するには理想的ではありません。たとえば、特定の名前のファイルをドライブで検索したり、ドライブ内の共有ファイルやフォルダーにアクセスできるユーザーを確認したりできます。
- バウンド: これらは、Googleドキュメント、スプレッドシート、フォーム、またはスライドファイル。バインドされたスクリプトは、ファイルの機能を拡張し、その特定のファイルでのみアクションを実行します。例としては、カスタムメニュー、ダイアログボックス、サイドバーを、Sheetの特定のセルが変更されたときに通知をメールで送信するサービスまたはスクリプトに追加することが含まれます。
JavaScriptをあまり知らない場合、またはあなたはそれを聞いたことがありません。あなた自身の台本を開発することからあなたを恐れさせないでください。 Apps Scriptを使い始めるのは非常に簡単です。豊富なドキュメントと例が用意されており、自分でテストできます。以下は、それらがどのように機能するかを理解するのに役立つ簡単な例です。
スタンドアロンスクリプトを作成する方法
今、あなたは彼らが何であるかを知っています最初のスタンドアロンスクリプトを作成します。 Googleのコードサンプルを使用して、ボールを転がすのを支援します。GoogleScriptまたはJavaScriptに不慣れな場合は、コードの行に説明を提供します。
Google Apps Scriptに進みます。左上にあるハンバーガーアイコンをクリックし、[新しいスクリプト]をクリックします。
空の関数が内部にある新しい無題のプロジェクトが開きますが、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.'); }
コードを実行する前に、スクリプトを保存する必要があります。 [ファイル]をクリックし、[保存]をクリックします。
プロジェクトの名前を、スクリプトの実行内容を覚えやすい名前に変更して、「OK」をクリックします。
コードを実行するには、ツールバーにある再生アイコンをクリックします。
最初に[実行]をクリックした後、ポップアップウィンドウを介してGoogleアカウントにアクセスするための許可をスクリプトに付与する必要があります。 「権限の確認」をクリックして、アクセスする必要があるものを確認します。
これはGoogleが確認したアプリではないため、別の警告が表示されます。基本的に、開発者(私たち)を知らない限り、信頼できる場合にのみ先に進むと書かれています。 [詳細設定]をクリックし、[CreateNewDocに移動](またはこのスクリプトに名前を付けたもの)をクリックします。
スクリプトに必要な権限を確認し、「許可」をクリックします。
すばらしいです!ドライブに移動して、すべてがうまくいったら、「Hello、World!」ファイルがそこにあるはずです。ダブルクリックして開きます。
ファイルを開くと、コードに追加されたテキスト行がドキュメントに追加されます。
これで、ドキュメントの作成時にメール通知を受け取りたい場合は、さらに数行のコードを追加して、Googleアカウントに自動的に送信できます。以下のコード行を追加します doc.getBody().appendParagraph('This document was created by Google Apps Script.');
しかし、最後の中括弧の前 } :
// 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);
「実行」アイコンをクリックします。
追加のアクセス許可が必要ないくつかの行を追加したため、以前と同じプロセスを実行する必要があります。 「アクセス許可の確認」をクリックします。
[詳細設定]をクリックし、[CreateNewDocに移動]をクリックします。
注意: Googleは起動について警告しているので未確認のアプリの場合、同様に通知するセキュリティ警告メールが届きます。 Googleは、未確認のアプリケーションへのアクセスを許可したのがあなたでない場合にのみこれを行います。
スクリプトに必要な新しいアクセス許可セットを確認し、[許可]をクリックします。
ドキュメントが作成されると、Googleドライブ内のファイルへのリンクが記載されたメールが届きます。
リンクをクリックすると、Googleドライブ内のファイルに直接アクセスできます。
バインドされたスクリプトを作成する方法
次の例では、Googleスプレッドシートのバインドされたスクリプトを作成して、既存のシートを解析して行の重複エントリを探し、それらを削除します。
以前に覚えていた場合、バインドされたスクリプトは特定のファイルへのアドオンのように機能するため、ファイルを作成するには、少なくとも1つの重複データポイントを含む既存のGoogleスプレッドシートを開きましょう。
[ツール]をクリックし、[スクリプトエディター]をクリックします。
空のスクリプトを含む新しいタブでGoogle Apps Scriptが開きます。ただし、今回は、スクリプトはそれが開く元のシートにバインドされています。
前と同じように、空の関数を削除して、次のコードを貼り付けます。
//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); }
注意: スクリプトが重複を削除するには、行のすべてのセルが一致する必要があります。
スクリプトを保存して名前を変更し、「実行」アイコンをクリックします。
繰り返しますが、最後のスクリプトで遭遇したように、作成したら、スクリプトに必要な権限を確認して、スプレッドシートへのアクセスを許可する必要があります。 「アクセス許可の確認」をクリックして、このスクリプトが必要とするアクセス権を確認します。
プロンプトを受け入れ、「許可」をクリックしてスクリプトを承認します。
実行が終了したら、スプレッドシートに戻り、魔法のように、すべての重複エントリがファイルから消えます!
残念ながら、上記の例のように、データがテーブル内にある場合、このスクリプトはテーブル内のエントリ数に合わせてテーブルのサイズを変更しません。
これらは非常に簡単な2つですがAppsスクリプトの使用方法の例では、オプションはほとんど無限であり、これらはすべてこれらのリソースで何を思いつくことができるかに依存します。ただし、当面は、GSuite Devs GithubページまたはDigital Inspirationに進み、独自のサービス内にデプロイできるサンプルスクリプトのスタックを確認して、Apps Scriptが実際に実行できることをよりよく理解してください。