Romain Vialard と James Ferreira の本からこの Google Apps Script 提案ボックス ライブラリを使用して、Google スプレッドシートにオートコンプリート機能 (スプレッドシートのポップアップ ウィンドウの Ui) を追加しようとしています。
function doGet() {
var contacts = ContactsApp.getContacts();
var list = [];
for(var i = 0; i < contacts.length; i++){
var emails = contacts[i].getEmails();
if(emails[0] != undefined){
list.push(emails[0].getAddress());
}
}
var app = UiApp.createApplication();
var suggestBox = SuggestBoxCreator.createSuggestBox(app, 'contactPicker', 200, list);
app.add(suggestBox);
SpreadsheetApp.getActive().show(app);
}
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "my_sheet_name" ) { //checks that we're on the correct sheet
var r = s.getActiveCell();
if( r.getColumn() == 1) {
doGet();
// testFunction();
}
}
}
しかし、「my_sheet_name」の列 1 の編集を開始すると、何も起こりません (testFunction()
期待どおりに動作します)。Suggest Box ライブラリは既にインストールしています。では、なぜ doGet() 関数が機能しないのでしょうか?
これが私のテスト用スプレッドシートです: https://docs.google.com/spreadsheet/ccc?key=0AtHEC6UUJ_rsdFBWMkhfWUQ0MEs2ck5OY1BsYjRSLXc&usp=drive_web#gid=0