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 Apps Script]Webアプリケーションを作成する。

    Google Apps Scriptではスプレッドシートや文書上で動く…

  2. Office関連

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

    前回の記事でGmail APIを使ってメールを送信するVBAマクロを紹…

  3. Google関連

    [Google Apps Script]メールからMessage-IDヘッダーを取得する

    はけた(@excelspeedup)氏のツイートで、GASでメールのM…

  4. Google関連

    [Google Apps Script]UrlFetchApp.fetchからのアクセス情報

    UrlFetchApp.fetchしたときに、アクセス対象のサーバーに…

  5. Google関連

    [Google Apps Script]自作関数を定義する

    Excel VBAでは、下記のようなコードを標準モジュールに書けばワー…

  6. Google関連

    以前のGoogle マップを使う。

    「「新しい Google マップ」正式公開、地図大きく、精緻すぎる3D…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP