会議をしているとき、議事録を残しておきたいときがあります。
しかし会議の議事録をGoogleドキュメントに残す場合、以下の対応はメンドウです。
– 新しくGoogleドキュメントを作成するのがメンドウ
– 議事録のフォーマットがある場合、それをGoogleドライブから探し出すのがメンドウ
このようなとき、Googleドキュメントで議事録テンプレートを呼び出すようにしておけば、すぐに議事録を作成することができます。
そこで、会議で突発的に議事録を残したいときにGoogleドキュメントの議事録テンプレートをボタン一つで呼び出す方法を紹介していきます。
– GASプログラム解説
– 仕事での応用方法
GASプログラムはコピペしてそのまま使えるので、プログラミング知識ゼロでも仕組みを作ることができます。
ぜひ仕事で活用ください。
目次
GASでGoogleドキュメントの議事録テンプレートを呼び出す手順を解説
使用手順2|スプレッドシートのボタンをクリック
使用手順3|コピーした議事録を表示
以下で一つずつ解説していきます。
使用手順1|議事録テンプレートURLをセルB1にコピペ
セルB1に議事録テンプレート(Googleドキュメント)のURLをそのまま貼り付けます。
議事録テンプレートの作り方は、本記事の後半で説明します。
使用手順2|スプレッドシートのボタンをクリック
そうすると、以下のように議事録テンプレートのリンクがメッセージに出力されます。
このリンクをクリックすることで、議事録テンプレートを開くことができます。
使用手順3|議事録を開く
上記のように新しいタブとして議事録が出力されます。
ここに会議の議事録を記入していきます。
以下で、この仕組みの作り方を解説していきます。
GASで所定のGoogleドライブ上のファイルを取得する方法をゼロから作ってみる|ステップごとに解説
作成手順2|スプレッドシートを準備
作成手順3|スプレッドシートに必要情報を入力
作成手順4|GASプログラムをコピペ
作成手順5|スプレッドシートにボタンを設置
作成手順6|ステップ5のボタンクリックでステップ4のプログラムを実行
作成手順7|動作確認
それでは、ゼロから作っていけるように作り方を順を追って説明していきます。
作成手順1|Googleドキュメントで議事録テンプレートを作成
2. ファイル名に「議事録テンプレート」に変更
3. 議事録テンプレートの情報を入力
Google Chromeを開いて、URLバーに「doc.new」と入力して、[Enter]を押します。
ここは、「doc.new」以外の方法もありますので、新しいGoogleドキュメントを開ければどのような方法でも問題ありません。
そうすると、Googleドキュメントを開くことができます。
そして、ファイル名を変更し、議事録テンプレートの情報を入力します。
「3.議事録テンプレートの情報」は以下の内容をそのままコピペして使用できます。
議事録の件名:
– 参加者
– 会議日時
議題1:
– 課題
– 結論
– ネクストアクション
– ToDo1(担当者)
– ToDo2(担当者)
– ToDo3(担当者)
上記の情報は、議事録テンプレートのサンプルですので、必ずしも上記の内容である必要はありません。
ご自身の仕事内容に合わせて、追記・修正ください。
作成手順2|スプレッドシートを準備
空のスプレッドシートを準備します。
新しいスプレッドシートではなく、既存のスプレッドシートでも問題ありません。
ただし、シート名はシート1としておくことをオススメします。
これから紹介するプログラムをそのまま使う場合、「シート1」でないと動かないので注意が必要です。
作成手順3|スプレッドシートに必要情報を入力
以下の通り、スプレッドシートに必要情報を入力していきます。
2. セルB1にGoogleドキュメントのURLを入力
「議事録テンプレート」と入力
(セルB1のURLが議事録テンプレートのURLであると分かるようにするため)
作成手順1で作った「Googleドキュメント(議事録テンプレート)のURL」を入力
補足|GoogleドキュメントURLのコピペはショートカットキーで!
GoogleドキュメントのURLをセルに貼り付けるときは、以下のショートカットキーを使うと操作を早くできます。
1. GoogleドキュメントのURLを選択|[Alt] + [D]
2. 選択箇所(URL)をコピー|[Ctrl] + [C]
3. タスクの切り替え(Googleドキュメント→Googleスプレッドシート)|[Alt]を押しながら[Tab]
4. スプレッドシートに貼り付け|[Ctrl] + [V]
(※Windowのパソコンに限る)
作成手順4|GASプログラムをコピペ
2. スクリプトエディタをクリック
3. GASプログラムをデフォルトの記載を削除
4. この記事で紹介しているGASプログラムをコピペ
5. ファイルをクリック
6. 保存をクリック
以下で一つずつ解説していきます。
以下の画像は、別の記事を転用しているものがあります。
操作の内容に違いがないため、画像を修正せずにそのまま使用しています。
ご了承ください。
そうすると、以下のスクリプトエディタを出現します。
ちなみに1と2の作業は以下のショートカットキーでも開くことが可能です。
1. ツールをクリック|[Alt] + [T]
2. スクリプトエディタをクリック|[E]
以下のリンク先のGASプログラムをコピーします。(リンク先は同じページ下部です)
まず、以下のスクリプトエディタを選択して、もともと記載されているプログラムを削除します。
そして、コピーしたGASプログラムソースを貼り付けます。
ここまで作業が進むと以下のようになっているはずです。
ここまで出来たら、以下のとおりファイルを保存します。
5と6の作業は、[Ctrl] + [S]のショートカットキーを使うことをオススメ
プログラミングだけでなく、パソコン仕事においてはショートカットキーを使う方が早いです。
ぜひショートカットキーでの作業をオススメします。
ちなみにプログラムエディタの背景色が黒にする方法や、正確な操作を知りたい人がいるかもしれません。
その場合は、以下の動画をご覧いただくことをオススメします。
上記の動画では、GASを使い始めるまでの操作手順を動画で解説しています。
もし動画よりテキストのほうが得意な人は、以下の記事を参考にしていただくと良いです。
作成手順5|スプレッドシートにボタンを設置
2. 図形描画をクリックする
3. 図形マークをクリックする
4. 図形をクリックする
5. 四角マークをクリックする
6. マウスドラックで四角図形を作成する
7. 四角の図形の中に「フォルダ内の情報をリスト化」と記入する([Ctrl] + [E]で中央に寄せる)
8. 「保存して終了」をクリックする
以下で一つずつ解説していきます。
以下の画像は、別の記事を転用しているものがあります。
操作の内容に違いがないため、画像を修正せずにそのまま使用しています。
ご了承ください。
上記の操作を行って、スプレッドシートにボタンを設置します。
作成手順6|ステップ5のボタンクリックでステップ4のプログラムを実行
2. 「スクリプトを割り当て」をクリックする
3. 「」と記入する(先ほどコピペしたGASプログラムの名称)
4. 「OK」ボタンをクリックする
上記の操作で、スプレッドシートのボタンをクリックすると、プログラムが起動するようにします。
作成手順7|動作確認
それでは、議事録テンプレートを呼び出す仕組みができたので、動作確認をします。
以下の手順で進めていきます。
2. ボタンをクリック
3. リンクをクリック
4. 議事録テンプレートが表示
まず、セルB1を確認し、「Googleドキュメント(議事録テンプレート)のURLが貼られていること」を確かめます。
そして、ボタンをクリックします。
そうすると、以下のようなリンクが出てきます。
このリンクをクリックすると、新しいタブに「議事録テンプレートのコピー」が出力されます。
ここに、議事録を書いていきます。
ちなみに、この議事録はファイル名が自動で変更されます。
詳しくは、本記事の後半「プログラム解説」の項目で説明してますので、そちらをご覧ください。
改善ポイント
2. 作成した議事録URLをslackに通知(スプレッドシート上のメッセージではなく)
パッと思いつくだけでも、上記のような改善が可能です。
ご自身の仕事の進め方に合わせて機能を追加していくことをオススメします。
よくある質問1|「承認が必要」と表示されたとき、どうする?
ボタンをクリックすると、上記のように「このドキュメントに添付されたスクリプトを実行するには、あなたの許可必要です。」という画面が表示される場合があります。
その場合は、以下のとおり対応していきます。
以下の画像は、別の記事を転用しているものがあります。
ファイル名やスプレッドシート上の情報が、この記事の内容を一致しない場合があります。
あらかじめご了承ください。
2. 許可を出したいアカウントをクリックする
3. 「詳細」をクリックする
4. 「無題のプロジェクト(安全ではないページ)に移動」をクリックする
5. 「許可」をクリックする
6. 「フォルダ作成」のボタンをクリックする
そうすると、以下のようにボタンをクリックすることで、スクリプトが動きます。
ここまで紹介した内容を実践すれば、動作チェックで上手くいくことが確認できるはずです。
よくある質問2|プログラムのエラー表示されたとき、どうする?
上記のようにエラーが表示されて、プログラムが動かないことがあります。
プログラムエラーが生じた場合は、ステップ1から内容をチェックしてみてください。
とくに以下の内容を間違えていると、上手く動きません。
対処1. セルB1に議事録ドキュメントのURLが入力されているか?
対処2. セルB1に議事録ドキュメントのURLは正しいか?
上記の内容を確認してから、再度ボタンをクリックしてみてください。
それで動かなければ、プログラムのエラー内容を確認し、Google検索で調べるなどの追加調査を行ってみることがオススメします。
仕事を人に渡すそうとすると、考える力が伸びる
この記事では、GASのプログラムを活用して仕事を効率化する方法を紹介しています。
単純にGASプログラムだけを伝えるわけではなく、仕事を人に渡す視点で仕組み化する方法を伝えるよう心掛けています。
なぜこのように人に仕事を渡す視点を入れているかというと、考える力が養われるからです。
たとえば、この記事も「新入社員の人でも、この作業を行ってもらえるようにするにはどうすればいいのだろう?」と考えながら作成しています。
もう少し具体的に何をイメージしているかというと、以下です。
– 間違えるポイントは丁寧に解説する
– 手順書を読むのがイヤにならないように専門用語は減らす
– 文字だけではなく画像や動画リンクを貼る
実際、私は上記のことがイメージしながら、この記事を書くようにしています。
このように「もっとこうしたら分かりやすくなる」というような考える力が養われると思っています。
さて、「考える力」と書きましたが、私は考える力を大きく以下の3つに分類できると考えています。
考える力2|仕事を手順化する力
考える力3|仕事のムダを見つける力
全部は解説しませんが、詳細は以下の記事で紹介しています。
どのように視点で、「本記事で紹介ている事例を思いついたのか?」や「ムダを発見したのか?」を以下で記事にしています。
興味がある人はご覧ください。
GASでフォルダ内の情報をスプレッドシートに一覧するプログラムの詳細を解説
今回、Googleドキュメントの議事録テンプレートをボタンで呼び出す方法を紹介してきました。
GASプログラムを活用していますが、GASプログラムをコピペで使えるようにしていますので、全てを理解する必要はありません。
しかし、中にはプログラムを理解したい人もいるはずです。
そこで、GASプログラムの詳細も紹介していきます。
まずは以下で、本記事で使用しているGASプログラムの全容を記載しています。
コピペして使ってください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
//プログラム0|プログラム名 function DocumentCopy() { //プログラム1|日付の情報を取得 var date = new Date(); var formattedDate = Utilities.formatDate(date, "JST", "yyyyMMdd"); //プログラム2|ファイル名を作成 var fileName = '議事メモ_' + formattedDate; //プログラム3|議事録テンプレートのファイルパスを取得 var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheetname = 'シート1'; var sheet = spreadsheet.getSheetByName(sheetname); var DocumentURL = sheet.getRange('B1').getValue(); //プログラム4|議事録テンプレートのファイルIDを取得 var myArray= DocumentURL.split('/'); var docid = myArray[5]; //プログラム5|議事録テンプレートのコピーを作成してURLを取得 var templateDoc = DriveApp.getFileById(docid); var copyDoc = templateDoc.makeCopy(fileName); var Docurl = copyDoc.getUrl(); //プログラム6|議事録テンプレートのリンクをポップアップで出力 var html = '<html><body><a href="'+ Docurl+'" target="blank" onclick="google.script.host.close()" rel="noopener noreferrer">'+ fileName +'</a></body></html>'; var ui = HtmlService.createHtmlOutput(html) SpreadsheetApp.getUi().showModelessDialog(ui, '議事録テンプレートのリンク'); } |
以下で詳しく解説していきます。
プログラム0|プログラム名
1 2 |
function DocumentCopy() { } |
「DocumentCopy()」という名称のプログラム
この名称に記載ルールはありません。
今回は「DocumentCopy」としましたが、名前を好みのプログラム名に変更することは問題ありません。
なお、「 () 」の意味については、ここでは触れません。
もし「 () 」の意味に興味がある人は、「GAS 引数」と検索してみると、「()」の意味を少しでも理解できるはずです。
プログラム1|日付の情報を取得
1 2 |
var date = new Date(); var formattedDate = Utilities.formatDate(date, "JST", "yyyyMMdd"); |
以下で一行ずつ説明していきます。
プログラム1-1|今日の日時情報を取得
1 |
var date = new Date(); |
dateという変数に、今日の日時を取得
「 new Date() 」で今日の日時を取得できます。
たとえば、2020年7月26日の13時38分41秒に「new Date()」のプログラムを実行すると「Sun Jul 26 2020 13:38:41 GMT+0900 (日本標準時)」という情報を取得します。
プログラム1-2|日時情報の表示形式を変換
1 |
var formattedDate = Utilities.formatDate(date, "JST", "yyyyMMdd"); |
プログラム1-1で取得したdateの情報を「yyyyMMdd」型に変換
たとえば、2020年7月26日であれば「20200726」に変換する。
プログラム2|ファイル名を作成
1 |
var fileName = '議事メモ_' + formattedDate; |
filenameという変数を「議事メモ_yyyyMMdd」とする
たとえば、formattedDate =「20200726」であれば、filename = 「議事メモ_20200726」となる。
なお、filenameはコピーしたGoogleドキュメントのファイル名として使用する。
プログラム3|議事録テンプレートのファイルURLを取得
1 2 3 4 |
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheetname = 'シート1'; var sheet = spreadsheet.getSheetByName(sheetname); var DocumentURL = sheet.getRange('B1').getValue(); |
以下で一行ずつ説明していきます。
プログラム3-1|アクティブなスプレッドシートを取得
1 |
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); |
spreadsheetという変数に、アクティブになっているスプレッドシートを設定します。
アクティブなスプレッドシートとは、現在操作しているスプレッドシートを指します。
今回は、ボタンを使ってプログラムを動かすような仕組みしていますので、ボタンが設置されているスプレッドシートがアクティブなスプレッドシートの対象となります。
アクティブなスプレッドシートの意味について、もしあなたがVBAを勉強したことがあるなら、activesheetというプログラムを見たことがあるかもしれません。
それと同じようなものだと思っていただければ、問題はないと思います。
プログラム3-2|sheetnameに「シート1」を格納
1 |
var sheetname = 'シート1'; |
sheetnameという変数に、「シート1」という文字列を格納
sheetnameにシート名の情報を入れます。
ここでは「シート1」としていますが、この名前である必要はありません。
今回はたまたまアクティブなスプレッドシートの「シート1」という名前のシートを使っているため、「シート1」にしているに過ぎません。
大切なのは、アクティブなスプレッドシートのシート名と一致させることです。
なお、シート名が一致していないとエラーになり、プログラムが上手く動きません。
プログラム3-3|「シート1」のスプレッドシートを取得
1 |
var sheet = spreadsheet.getSheetByName(sheetname); |
sheetという変数に、プログラム3-1で設定したspreadsheet(アクティブなスプレッドシート)に存在するsheetname(ここでは「シート1」)を取得
プログラム3-4|議事録テンプレートのURLを取得
1 |
var DocumentURL = sheet.getRange('B1').getValue(); |
DocumentURLという変数に、「シート1」のセルB1の値を入れる
セルB1には、あらかじめ議事録テンプレートとなるドキュメントURLを入力しておきます。
そうしておくことで、DocumentURLという変数に議事録テンプレートのURLを取得できます。
そのためセルB1に何も値が入っていないと、プログラムエラーとなるので注意が必要です。
プログラム4|議事録テンプレートのファイルパスを取得
1 2 |
var myArray = DocumentURL.split('/'); var docid = myArray[5]; |
以下で一つずつ解説していきます。
プログラム4-1|議事録テンプレートのファイルURLを「/」で区切る
1 |
var myArray = DocumentURL.split('/'); |
DocumentURLの値を「/」で区切って、配列にする
たとえば、DocumentURLの値(セルB1の情報)が「https://docs.google.com/document/d/1XmVql-sYoIK6S5bDcxufLivyVJQZ1mCzH6tnLicLIA4/edit」の場合は、myArrayは以下のようになります。
myArray = [ ‘https:’, ”, ‘docs.google.com’, ‘document’, ‘d’, ‘1XmVql-sYoIK6S5bDcxufLivyVJQZ1mCzH6tnLicLIA4’, ‘edit’ ]
つまり、split(‘/’)とすることで、URLの「/」で区切って、それを一つずつ配列の要素として格納していきます。
さらに詳しく言うと以下のようになります。
myArray[1] = ”
myArray[2] = ‘docs.google.com’
myArray[3] = ‘document’
myArray[4] = ‘d’
myArray[5] = ‘1XmVql-sYoIK6S5bDcxufLivyVJQZ1mCzH6tnLicLIA4’
myArray[6] = ‘edit’
プログラム4-2|議事録テンプレートのGoogleドキュメントのファイルIDを取得
1 |
var docid = myArray[5]; |
docidという変数に、myArray[5]を入力
上述のとおり、「myArray[5] = ‘1XmVql-sYoIK6S5bDcxufLivyVJQZ1mCzH6tnLicLIA4’」のため、「docid = myArray[5] 」とすることで、ファイルIDを取得できます。
プログラム5|議事録テンプレートのコピーを作成してURLを取得
1 2 3 |
var templateDoc = DriveApp.getFileById(docid); var copyDoc = templateDoc.makeCopy(fileName); var Docurl = copyDoc.getUrl(); |
以下で一行ずつ解説していきます。
プログラム5-1|Googleドライブ上の議事録テンプレートを取得
1 |
var templateDoc = DriveApp.getFileById(docid); |
プログラム4-2のdocidを使い、GoogleDrive上の議事録テンプレートファイルを取得
ちなみに、GoogleDrive上のファイルを取得するためには、ファイルIDが必要です。
そのためGoogleドキュメントのURLを取得するだけでは、議事録テンプレートを取得できません。
そのため、ファイルURLに含まれるファイルIDをmyArray[5]という形で取得しているのです。
プログラム5-2|議事録テンプレートをコピー
1 |
var copyDoc = templateDoc.makeCopy(fileName); |
templateDocをファイルコピーして「fileName」という名前にする
ファイルコピーのプログラムなので、他のプログラムを作るときにも活用できるかと思います。
プログラム5-3|コピーした議事録テンプレートのURLを取得
1 |
var Docurl = copyDoc.getUrl(); |
変数Docurlに、コピーした議事録テンプレートのURLを入力
このDocurl(コピーした議事録テンプレートのURL)は、最後にリンクから飛べるようにします。
プログラム6|議事録テンプレートのリンクをポップアップで出力
1 2 3 |
var html = '<html><body><a href="'+ Docurl+'" target="blank" onclick="google.script.host.close()" rel="noopener noreferrer">'+ fileName +'</a></body></html>'; var ui = HtmlService.createHtmlOutput(html) SpreadsheetApp.getUi().showModelessDialog(ui, '議事録テンプレートのリンク'); |
一行ずつ解説していきます。
プログラム6-1|コピーした議事録テンプレートのリンクを作成
1 |
var html = '<html><body><a href="'+ Docurl+'" target="blank" onclick="google.script.host.close()" rel="noopener noreferrer">'+ fileName +'</a></body></html>'; |
コピーした議事録テンプレートのリンクを作成
HTMLの構造として重要な部分を以下で説明します。
1 |
<a href="Docurl(議事録テンプレートのURL)">fileName</a> |
「filename」という文字列に「Docurl(議事録テンプレートのURL)」のリンクを付与
1 |
target="blank" |
新しいタブとしてリンクを開く
1 |
onclick="google.script.host.close()" |
クリックしたら、スプレッドシート上のメッセージが閉じる
プログラム6-2|プログラム6-1をHTMLとして出力
1 |
var ui = HtmlService.createHtmlOutput(html) |
プログラム6-1で作成したhtmlの内容を反映したWebページを作成
プログラム6-3|リンクをポップアップで表示
1 |
SpreadsheetApp.getUi().showModelessDialog(ui, '議事録テンプレートのリンク'); |
スプレッドシート上に、コピーした議事録テンプレートのリンクをポップアップで表示
このリンクをクリックすれば、コピーした議事録テンプレートを別タブで開くことができます。
プログラムの解説は以上です。
Google Apps Script(GAS)について詳しく理解したいなら
Google Apps Script(GAS)を活用すると、仕事を効率化できる幅を広げることができます。
たとえば私が実際にGASを活用して効率化してきた作業は以下の動画で解説しています。
動画を見てみると、あなたの仕事にどのようにGASを応用すればいいのかイメージが浮かぶこともあると思います。
ぜひご覧ください。
GASの使い方・始め方を知らない人にはこちらの記事・動画がオススメ
この機会に、「GASを使い方を知りたい」と思った人もいるかもしれません。
そのように感じている人は、ぜひ以下の記事をご覧ください。
10分程度でGoogle Apps Scriptを使うためのスタート地点に立てるように解説をしています。
当然、プログラミング経験ゼロでGAS知識ゼロであれば、使いこなせるようにまでには一定期間の勉強が必要です。
このサイトでもいくつか事例を使って、GASの実践方法を紹介しています。
興味がある人は以下の記事もご覧ください。
オススメの書籍を紹介
書籍に関しては、以下を読んで購入しました。
GASの全体感をつかむには良いと思います。
ただし、実際の勉強は書籍よりもウェブサイトを活用してきました。
はっきり言って、ウェブサイトだけでも十分に勉強できるほど数多くの情報がアップされています。
書籍で全体感をつかんだら、ウェブサイトでの学習に切り替えたほうが良いのが私の考えです。
Googleスプレッドシートを効率的に操作したいなら
この記事ではGASを活用した仕事の効率化の事例を紹介してきました。
しかしGoogleスプレッドシートの仕事を早くすることを目指すなら、GAS以外の方法もあります。
たとえば、以下の方法です。
上記の動画は、仕事を早くこなす上で、覚えておくと役立つ内容を詰め込んでいます。
ぜひGoogleスプレッドシートを上手に扱えるようになりたい人はご覧いただきたいです。