\r\n\r\n
Google Appsを使用している場合、その利点を十分に活用できていない可能性があります。googleappsスクリプトを使用すると、カスタムメニューやダイアログの追加、カスタム関数やマクロの記述、Googleドキュメント、ワークシート、スライドショーを拡張するアドオンを構築することができます。
googleappsスクリプトは、カスタムで軽量なWebアプリケーションを作成するためのクラウドベースの開発プラットフォームです。ブラウザ上で直接スケーラブルなアプリケーションを構築でき、Google製品との連携も容易に行えます。
Apps Script は JavaScript 言語を使用しており、Web 開発と Google 製品への精通を組み合わせて、ビジネス、組織、または日常業務の自動化のためのアプリケーションのカスタマイズに最適なツールとなっています。
Google Apps scripts**では、2種類の付箋を使用することができます。
JavaScriptについてよく知らない、あるいは聞いたことがないという方でも、怖がらずに自分でスクリプトを開発してみてください。Appsスクリプトの使用方法は、豊富なドキュメントと自分でテストするためのサンプルを提供しているため、非常に簡単です。ここでは、その仕組みを理解するための簡単な例をいくつか紹介します。
さて、これらが何であるかが分かったところで、最初のスタンドアロン・スクリプトの作成に移りましょう。Googleのコード例の一つを参考に、GoogleScriptやJavaScriptに不慣れな方には、コード行の解説を行います。
Google Apps Scriptsにアクセスし、左上のハンバーガーアイコンをクリックし、"New 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.'); }コードを実行する前に、スクリプトを保存する必要があります。"File" をクリックし、"Save" をクリックします。
プロジェクト名を、このスクリプトが何をしたのか覚えやすい名前に変更し、"OK "をクリックします。
コードを実行するには、ツールバーの「再生」アイコンをクリックします。
初めて「実行」をクリックした後、ポップアップウィンドウを介してスクリプトにGoogleアカウントへのアクセス権を与える必要があります。アクセス権の表示」をクリックすると、アクセスに必要なものが表示されます。
Googleの検証済みアプリではないため、再度警告が表示されます。基本的には、開発者(私たち)を知らない限り、信頼できる場合にのみ進めてくださいということです。詳細設定」をクリックし、「GotoCreateNewDoc」(またはこのスクリプトに名前を付ける)をクリックします。
スクリプトに必要なパーミッションを確認し、"Allow "をクリックします。
さて、あなたのドライブに移動して、すべてがうまくいけば、"Hello World!"ファイルがそこにあるはずです。
ファイルを開くと、コードによって文書に追加されたテキスト行が表示されます。
さて、文書が作成されたときにメール通知を受け取りたい場合は、さらに数行のコードを追加して、Googleアカウントに自動的に送信することができます。以下のコードを追加します。 getBodyDr().appendParagraph('This document was created by a 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);実行」アイコンをクリックします。
追加のパーミッションを必要とする行を追加したため、以前と同じプロセスを実行する必要があります。"View Permissions" をクリックします。
"詳細設定"、"CreateNewDocへ移動 "の順にクリックします。
注:Googleが未認証のアプリケーションを起動するよう警告した場合、それを通知するセキュリティ警告メールも届きます。Googleは、お客様が認証されていないアプリケーションにアクセスする権限を持たない人物であることを防ぐためにのみ、このような処理を行います。
スクリプトに必要な新しいパーミッションのセットを表示し、"Allow "をクリックします。
ドキュメントを作成すると、Google Drive内のファイルへのリンクが記載されたメールが送信されます。
リンクをクリックして直接ファイルを探すと、Googleドライブにあります。
次の例では、既存のワークシートの行の重複項目を解析して削除するgooglesheets用のバインディングスクリプトを作成してみましょう。
バインドスクリプトはファイル固有のアドオンのように動作します。バインドスクリプトを作成するために、少なくとも1つの繰り返しデータポイントを含む既存のgooglesheetスプレッドシートを開きましょう。
"ツール"→"スクリプトエディタ "をクリック
googleappsスクリプトは、空のスクリプトを含む新しいタブで開かれます。ただし、今回はスクリプトが開かれたワークシートにバインドされます。
前回と同様に、空の関数を削除して、以下のコードを貼り付けます。
//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); }注:スクリプトで重複した項目を削除するには、行のすべてのセルが一致する必要があります。
スクリプトを保存して名前を変更し、「実行」アイコンをクリックします。
同様に、最後に作成したスクリプトで問題が発生した場合は、スクリプトに必要な権限を確認し、スプレッドシートへのアクセス権を付与する必要があります。View Permissions」をクリックすると、このスクリプトに必要なアクセス権が表示されます。
プロンプトに同意し、[許可]をクリックしてスクリプトを認証します。
それが終わったら、ワークシートに戻ると、魔法のように、重複した項目がすべてファイルから消えています
残念ながら、上の例のようにデータがテーブルに入っている場合、このスクリプトはテーブル内のエントリ数に合わせてサイズを変更することはできません。
この2つは、Appsスクリプトの使い方の非常にシンプルな例ですが、選択肢はほぼ無限にあり、これらのリソースを使って何を思いつくかによって、すべてが決まります。GSuite DevsのGithubページやDigital Inspirationで、自分のサービスに導入できるサンプルスクリプトをたくさん見て、Appsスクリプトが実際にどんなことができるのか、よりよく理解することができるようになります。