Google関連

[Google Apps Script]jQuery UIのDatepickerを使ってスプレッドシートのセルに日付を入力する

[Google Apps Script]スプレッドシート上にウィンドウを表示する」で、Office 用アプリの「コンテンツ アプリ」のようにWebページ(HTML)をシート上に表示できることが分かったので、この記事のようにjQuery UIのDatepickerを使ってスプレッドシートのセルに日付を入力するスクリプトを作ってみたいと思います。

・コード.gs

var app = SpreadsheetApp;

function onOpen(e){
    showContentApp();
}

function showContentApp(){
    var html = HtmlService.createHtmlOutputFromFile('DatePicker').setTitle('Date Picker').setWidth(320).setHeight(320);
    app.getActiveSpreadsheet().show(html);
}

function setRangeValue(arg){
    app.getActiveRange().setValue(arg);
}

・DatePicker.html

<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons.css">
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/dot-luv/jquery-ui.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1/i18n/jquery.ui.datepicker-ja.min.js"></script>
<script>
    $(function(){
        $("#datepicker").datepicker({
            onSelect: function(dateText, inst) {
                google.script.run.setRangeValue(dateText);
            }
        });
    });
</script>
<div id="datepicker"></div>

GoogleAppsScript_05_01

実際にやってみたら、思いのほか簡単に実装できました。
動作(反応)が遅いのが難点ですが、Datepickerの読み込みさえできてしまえば何とか実用に耐え得るレベルのスクリプトではないかと思います。

関連記事

  1. Google関連

    Google Docs API v1を試してみました。

    下記TechCrunchの記事によると、Google ドキュメントの新…

  2. Google関連

    [Google Apps Script]OAuth認証(2.0)が必要なWeb APIを利用する。

    前回の記事ではGoogle Apps Scriptを使ってWebアプリ…

  3. Google関連

    「Save to Drive」ボタンを試してみました。

    下記Webページでも紹介されていますが、Webサイト上のファイルを直接…

  4. Office関連

    Gmail APIを使ってメール送信するVBAマクロ(3)

    前回、前々回とGmail APIを扱ってきましたが、今回は前々回の記事…

  5. Office関連

    Google翻訳で文字列を翻訳するマクロ

    ※ 2016/2 時点では下記の方法はもう使用できなくなっています。V…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP