いんとろだくしょん
こんにちは!RCC2回生のあいてにあむ(@itanium103)です!
みなさん,Google Apps(Googleドキュメントとか,
Googleスプレッドシートとか)使っていらっしゃいますか?
無料でMS Officeの代替としても使えるので,
使ってはる人多いんちゃうかなぁ,と思います.
このGoogle Appsの一部のアプリでは,
サイドバーを表示させることができるんです!

こんな感じに!
実装
コンテナバインドスクリプトの作成
それでは,かんたんに方法をご説明します.
サイドバーを表示させるには,GASでプログラムを書きます,
まず,表示させたいアプリのファイルと接続された
コンテナバインドスクリプトを作成します.
スプレッドシートの場合,ここから作成します.
スクリプト(*.gs)を書き込む
次に,以下のコードを書きます.
スプレッドシートの場合
function openSidebar() {
var htmlOutput = HtmlService.createHtmlOutputFromFile('bar');
SpreadsheetApp.getUi().showSidebar(htmlOutput);
}
ドキュメントの場合
function openSidebar() {
var htmlOutput = HtmlService.createHtmlOutputFromFile('bar');
DocumentApp.getUi().showSidebar(htmlOutput);
}
HTMLファイル(bar.html)を書き込む
次に,HTMLファイルを作成します.
スクリプトエディタで
ファイル>新規作成>HTMLファイル
をクリックすると,作成できます.

名前は”bar.html”にしてください.
(スクリプト(*.gs)の’bar’の部分を書き換えればほかのファイル名も可)
そのHTMLファイルに書いた内容がサイドバーに表示されます.
本記事上部の画像の例では,以下のHTMLを書き込みました.
<!DOCTYPE html>
<html lang = "ja">
<head>
<!--▽CSSここから▽-->
<style>
h2{
font-size: 4em;
margin : 0;
font-family: "Times New Roman","Segoe",sans-serif;
text-align: right;
}
input{
width : 100%;
font-size : 2em;
border : 0;
font-family : "Arial",sans-serif;
background-color: #CCC;
color : #FFF;
}
div{
width:100%;
text-align:center;
}
table{
color : #FFF;
background-color: #CCC ;
width : 100%;
}
</style>
<!--△CSSここまで△-->
<!--▽JavaScriptここから▽-->
<script type="text/javascript"><!--
var cTime;
var startTime;
var flg=0;
window.onload=function timerStart(){
startTime=(new Date()).getTime();
}
function runTimer(){
cTime=(new Date()).getTime() - startTime -9*60*60*1000;
document.getElementById('time').innerHTML = clockFormat(new Date(cTime));
}
function Clock() {
var Time = new Date();
var msg = clockFormat(Time);
document.getElementById('Clock').innerHTML = msg;
}
function zeroPad2fig(num) {
var padded;
if(num < 10){padded = "0" + num;}
else {padded = num;}
return padded;
}
function clockFormat(Time){
var Hour = zeroPad2fig( Time.getHours() );
var Min = zeroPad2fig( Time.getMinutes() );
var Sec = zeroPad2fig( Time.getSeconds() );
return Hour + ":" + Min + ":" + Sec;
}
setInterval( function(){Clock(); runTimer();} ,1000);
// --></script>
<!--△JavaScriptここまで△-->
</head>
<body bgcolor="#CCC">
<table border="0"><tr><td>
<div><b>現在時刻</b></div><h2><div id="Clock">00:00:00</div></h2>
</td></tr></table>
<table border="0"><tr><td>
<div><b>経過時間</b></div><h2><div id = "time">00:00:00</div></h2>
</td></tr></table>
</body>
</html>
実行
スクリプト(*.gs)に書き込んだ関数”openSidebar”を実行してみてください.
(承認とか少しややこしいので,初めての方はGAS入門系のWebページを
見ながら実行されることを推奨します)
ドキュメントで先ほどのコードを実行してみると・・・

サイドバーが表示されました(´▽`)
まとめ
GASにちょこっとコードとHTMLを書くだけで,簡単なサイドバーを
作成できることがわかっていただけたと思います.
今回書いたHTMLは,現在時刻とサイドバーを表示してからの
経過時間を表示するものです.
GASにはトリガー機能があるので,よく使うドキュメントの
コンテナバインドスクリプトにこのスクリプトを書き,
トリガーでドキュメント起動時に”openSidebar”関数が
自動実行されるようにすると,そのドキュメント作業中に
現在時刻と作業時間を知ることができます.
長くなるので割愛しますが,サイドバーのtextareaに入力した値を
Google Appsに送ったり,その逆のことをしたりとかもできるので,
興味のある方は是非調べたり試したりしてください(*^^)v










