\r\n\r\n

ドキュメントを自動化する3つの印象的なgoogle docsスクリプト

Googleスクリプトをフォームやドキュメントに統合し、優れた効果を発揮する方法をご紹介します...

Microsoft Wordなどのアプリケーションベースのワープロソフトではなく、クラウドベースのGoogle Docsを使用する理由はたくさんあります。最も重要な点は、強力なGoogleスクリプトを使用して非常に便利な自動化を作成できることです。

以下は、ユーザープロンプトから文書を作成する、Google AnalyticsをGoogle Docsのレポートにインポートする、Googleワークシートファイルから文書を作成する、といった3つのスクリプトです。

1 プロンプトを使った文書作成

同じメールを頻繁に送信する場合、自動文書テンプレートは本当に時間の節約になります。上司への月次売上報告や、同僚への週次更新のようなものです。定期的に書くものは、文書テンプレートとGoogleスクリプトで自動化することができます。

まず、ドキュメントのテンプレートを作成します。Googleドキュメントを作成するだけで、簡単にできます。記入したい単語は、下の例のように###記号2つで囲むだけです。

このドキュメントでは、ドキュメントを開いたときに実行されるGoogleスクリプトを作成することができます。このスクリプトは、ドキュメントの各要素を入力するように要求します。

スクリプトを作成するには、「ツール」メニュー項目をクリックし、「スクリプトエディター」をクリックします。

エディターウィンドウで、コードを削除し、次のスクリプトに置き換えます。

このスクリプトは、ドキュメントを開くときにプロンプトを呼び出し、タイトルに営業担当者の名前と今日の日付を含む新しいドキュメントを作成します。そして、入力された情報がテンプレートのフィールドに入力されます。

function myFunction() { // Display a dialog box for each field you need information for. var ui = DocumentApp.getUi(); //var resp***e = ui.prompt('Enter Name', 'Enter sales person's name', ui.ButtonSet.OK); var nameResp***e = ui.prompt('Enter sales pers*** name'); var client1Resp***e = ui.prompt('Enter client 1'); var sales1Resp***e = ui.prompt('Enter sales 1'); var client2Resp***e = ui.prompt('Enter client 2'); var sales2Resp***e = ui.prompt('Enter sales 2'); var client3Resp***e = ui.prompt('Enter client 3'); var sales3Resp***e = ui.prompt('Enter sales 3'); var commissionResp***e = ui.prompt('Enter commission'); var date = new Date(); //Make a copy of the template file var documentId = DriveApp.getFileById('<your-template-id>').makeCopy().getId(); //Rename the copied file DriveApp.getFileById(documentId).setName(nameResp***e.getResp***eText() + date + ' Sales Report'); //Get the document body as a variable var body = DocumentApp.openById(documentId).getBody(); //Insert the entries into the document body.replaceText('##name##', nameResp***e.getResp***eText()); body.replaceText('##client1##', client1Resp***e.getResp***eText()); body.replaceText('##sales1##', sales1Resp***e.getResp***eText()); body.replaceText('##client2##', client2Resp***e.getResp***eText()); body.replaceText('##sales2##', sales2Resp***e.getResp***eText()); body.replaceText('##client3##', client3Resp***e.getResp***eText()); body.replaceText('##sales3##', sales3Resp***e.getResp***eText()); body.replaceText('##commission##', commissionResp***e.getResp***eText()); }

上記スクリプトの文書IDコードを、テンプレート文書の文書IDに置き換えてください。

これは、テンプレートドキュメントを編集する際に、URLに埋め込まれています。

Google Script Editorのウィンドウで、ディスクのアイコンをクリックしてスクリプトを保存します。

次に、実行アイコンをクリックして、動作するかどうかをテストします。

初めてスクリプトを実行する際に、Googleアカウントの権限を承認する必要がある場合があります。

テンプレートに戻ると、ポップアップで次々とプロンプトが表示されます。

スクリプトが完了すると、Google Driveのルートフォルダに、入力したすべての情報を含む新しいドキュメントが作成されます。

最後に、テンプレートドキュメントを開くたびにスクリプトを実行するように設定すればOKです。

Google Script Editorウィンドウで、Edit&gt; Triggers for current projectをクリックします。

右下のAdd Triggerボタンをクリックし、Select Event Typeがオンになっていることを確認します。

下にスクロールして、「保存」をクリックすれば完了です。

2 Google ****ytics をドキュメントレポートに取り込む

ウェブサイトを所有しているか、あるいは所有している人のために働いているかにかかわらず、ウェブサイトのトラフィックとパフォーマンスを測定し、フォーマットされたレポートとして提供することは、一般的な要件です。

前項と同じテンプレート方式で、Google Analyticsからウェブサイトのデータをエクスポートし、整形されたGoogle Docsのレポートに書き出すことができます。

まず、前のセクションと同様にレポートのテンプレートを作成します。この例では、過去1週間の総ユーザー数、セッション数、ページビューを提供するようテンプレートが設定されています。

次に、前節と同じ手順でgoogledocsのスクリプトエディタにアクセスします。

以下の手順で、Google Analyticsのデータへのアクセスを有効にします。

  1. スクリプトエディタ]ウィンドウで、[リソース]、[高度なGoogleサービス]の順に選択します。
  2. Google Analytics APIの横のon/offをクリックします。
  3. ダイアログボックスの下部にある、Google Cloud Platform API Dashboardのリンクをクリックします。
  4. Cloud Platformウィンドウで、[EnableAPI and Services]をクリックします。
  5. Analyticsを検索し、Analytics APIをクリックします。
  6. Enableボタンをクリックすると、このAPIをスクリプトで使用できるようになります
  7. Script Editorウィンドウに戻り、OKをクリックしてAdvanced Google Servicesウィンドウを閉じます。

Google Analytics APIとの連携を有効にしたことで、レポートを自動作成できるようになりました。

次のコードをスクリプトエディタのコードウィンドウに貼り付けます。

function myFunction() { var tableId = 'ga:<your-****ytics-id>'; var startDate = getLastNdays(7); // 1 week ago. var endDate = getLastNdays(0); var date = new Date(); var results = Analytics.Data.Ga.get( tableId, startDate, endDate, 'ga:users,ga:sessi***,ga:pageviews', {'dimensi***': 'ga:date'}); var data = []; var totals = results.totalsForAllResults; for (metricName in totals) { data.push(totals[metricName]); } var users = data[0] var sessi*** = data[1] var pageviews = data[2] // Output to Google Doc. //Make a copy of the template file var documentId = DriveApp.getFileById('').makeCopy().getId(); //Rename the copied file DriveApp.getFileById(documentId).setName(date + ' Website Report'); //Get the document body as a variable var body = DocumentApp.openById(documentId).getBody(); //Insert the entries into the document body.replaceText('##startdate##', startDate); body.replaceText('##enddate##', endDate); body.replaceText('##users##', users); body.replaceText('##sessi***##', sessi***); body.replaceText('##pageviews##', pageviews);}function getLastNdays(nDaysAgo) { var today = new Date(); var before = new Date(); before.setDate(today.getDate() - nDaysAgo); return Utilities.formatDate(before, 'GMT', 'yyyy-MM-dd');}

上記スクリプトの文書IDコードを、テンプレート文書の文書IDに置き換えてください。また、Analytics IDは、Google Analyticsであなたのサイトに表示されるIDに置き換えてください。

Google Script Editorのウィンドウで、ディスクのアイコンをクリックしてスクリプトを保存します。

実行アイコンをクリックして、動作するかどうかテストしてください。

初めてスクリプトを実行するときは、Googleアカウントの実行権限を承認する必要があります。

このスクリプトを実行すると、Google Driveのルートフォルダに、過去1週間のすべてのWebサイトのパフォーマンス情報を含む新しいドキュメントが作成されます。

最後に、毎週実行されるスクリプトを設定するだけです。

googlescripteditorウィンドウで、Editとcurrentprojectのトリガーをクリックします。

右下の「トリガー追加」ボタンをクリックします。イベントソースの選択」を「タイムドリブン」に変更します。タイムベーストリガーの選択タイプをウィークリータイマーに変更します。

下にスクロールして「保存」をクリックすると、スクリプトが週に1回実行され、新しい週報が作成されます。

iii. グーグルワークシートからの文書作成

表計算ソフトの情報を、開発報告書や記録情報などの文書に変換する必要がある場合があります。

このようなことが多い場合は、googlesheetsとgoogledocsを統合することで、時間を節約することができます。このスクリプトでは、データのソースとして、googlesheetsのgooglescriptsエディタを使用します。

まず、この記事の最初のセクションで行ったように、#記号で囲まれた変数を埋め込んで、販売用文書の雛形を作成します。

これらのレポートのデータは、この例のような googlesheets スプレッドシートから取得されます。

スクリプトを作成するには、googlesheetsで、Toolsメニュー項目をクリックし、scripteditorをクリックします。

以下のスクリプトをエディタのスクリプトウィンドウに貼り付けます。

function myFunction() { var date = new Date(); // Opens SS by its ID var ss = SpreadsheetApp.openById("<spreadsheet-document-id>"); var sheet = ss.getSheetByName('Sam'); // or whatever is the name of the sheet //Make a copy of the template file var documentId = DriveApp.getFileById('<template-document-id>').makeCopy().getId(); //Rename the copied file DriveApp.getFileById(documentId).setName('Sam ' + date + ' Sales Report'); //Get the document body as a variable var body = DocumentApp.openById(documentId).getBody(); var range = sheet.getRange("A2:B4"); body.replaceText('##name##', 'Sam'); for (var i=1; i<4; i++) { cell = range.getCell(i,1); client = cell.getValue(); body.replaceText('##client' + i + '##', client); cell = range.getCell(i,2); sales = cell.getValue(); body.replaceText('##sales' + i + '##', sales); }}

上記スクリプトのドキュメントIDをテンプレートドキュメントのドキュメントIDに置き換えます。同様に、Google Sheet IDをデータのGoogle Sheet IDに置き換えます。

Google Script Editorのウィンドウで、ディスクのアイコンをクリックしてスクリプトを保存します。

実行アイコンをクリックして、動作するかどうかテストしてください。

スクリプトを最初に実行するときに、Googleアカウントにアクセスできるように許可を与える必要があることを忘れないでください。

スクリプトを実行すると、Google Driveのルートフォルダに、スプレッドシートのすべての売上データを含む新しいドキュメントが作成されます。

また、ワークシートタブを循環させて、チーム内の営業担当者ごとに新しい営業出力ドキュメントを作成することも可能です。

上のスクリプトで遊んでみて、課題をクリアできるかどうか試してみてはいかがでしょうか。

その他のGoogleスクリプト

GoogleDocsはシンプルなワープロのように見えますが、Google Analyticsを統合すると、このクラウドアプリケーションの能力を倍増させるものであることに気づきます。

Googleドキュメントのテンプレートは、こうした作業の中心的な役割を担っています。googledocsのテンプレートを使えば、あらゆる作業が驚くほど効率化されます。ぜひお試しください。また、Google Scriptによる自動化機能を追加することもできます。

ワークシートでスクリプトを使用することもできます。例として、Google Sheetsをより強力にするGoogleスクリプトをご覧ください。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ