スプレッドシートの使用を開始する前に情報をリクエストする必要があります。これは日付範囲です。日付範囲を入力しない場合は、スプレッドシートを閉じる必要があります。
ご協力いただきありがとうございます。
スプレッドシートの使用を開始する前に情報をリクエストする必要があります。これは日付範囲です。日付範囲を入力しない場合は、スプレッドシートを閉じる必要があります。
ご協力いただきありがとうございます。
ダイアログを開くトリガーとなる関数を実装onOpen()
し、ユーザーが必要な日付範囲を入力しない限り、ダイアログを開いたままにすることができます。ただし、値が入力されていない場合、スプレッドシートを強制的に閉じることはできないと思います。
UiApp を使用して UI でこれを行うことができます。条件が検証された場合にのみスプレッドシートへのリンクが表示され、それ以外の場合は要求が拒否されます。
EDIT:これはあなたが始めるための例です:
(条件を定義する必要があります。あなたが完了しなければならない部分をコメントしました...
function doGet() {
var app = UiApp.createApplication().setStyleAttribute('padding', '15').setStyleAttribute('background', 'beige').setWidth('300').setHeight('140');// adjust dimensions to your needs
var mygrid = app.createGrid(3, 2);
mygrid.setWidget(0, 0, app.createLabel('StartDate:'));
mygrid.setWidget(0, 1, app.createDateBox().setId('dateA'));
mygrid.setWidget(1, 0, app.createLabel('EndDtate:'));
mygrid.setWidget(1, 1, app.createDateBox().setId('dateB'));
var mybutton = app.createButton('OK');
mybutton.setId("mybutton");
var mypanel = app.createVerticalPanel();
mypanel.setId('mypanel');
mypanel.add(mygrid);
var label = app.createHTML('<BR>Your request has been approved, <BR><BR>thanks for submitting').setId('Label').setStyleAttribute('padding', '15').setVisible(false).setWidth('300').setHeight('120');// adjust dimensions to your needs
var anchor = app.createAnchor('Open the Spreadsheet', 'https://docs.google.com/spreadsheet/ccc?key=0AnqSFd3iikE3dDljeXhtY3lacUtxdllQbGNHREY0VUE#gid=0').setId('anchor').setVisible(false)
mypanel.add(label).add(anchor)
mypanel.add(mybutton);
app.add(mypanel).add(label);
var handler = app.createServerHandler('checkDates');
handler.addCallbackElement(mypanel);
mybutton.addClickHandler(handler);
var Chandler = app.createClientHandler();
Chandler.forTargets(mygrid,mybutton).setVisible(false)
mybutton.addClickHandler(Chandler)
return app;
}
function checkDates(e) {
var app = UiApp.getActiveApplication();
var Label = app.getElementById('Label');
var anchor = app.getElementById('anchor');
Label.setVisible(true);// show the masking label with message
var dateA = e.parameter.dateA;
var dateB = e.parameter.dateB;
// write your condition...
// if(dateA)...&& dateB== ...
anchor.setVisible(true);
return app
// }else{
app.close
//return app}
}