前の機能は動作していますが、前回の機能の前にクリックしています。私はエラー 'CAN NOT CALL METHOD' toString to undefinedを取得しています。 私のコードを参考にしてください。以前の機能で下の強調表示されたコードで試行錯誤しています。ありがとうございます。Google Appのスクリプト検索UIツールの以前の機能のエラーERROR
function click(eventInfo){
var ss = SpreadsheetApp.openById('1qpx2qZvBriBZ3jkOfHjMpsRbL9w04JZEJMeor11OJC81').getSheetByName("Teaching");
var app = UiApp.getActiveApplication();
var row=ss.getActiveRange().getRowIndex();
var lastrow = ss.getLastRow();
app.getElementById("txbid").setEnabled(true).setText("Search");
var item = eventInfo.parameter.itemname;
var next = app.getElementById("nextid").setEnabled(false);
var pre = app.getElementById("previd").setEnabled(false);
var lbl = app.getElementById("lblid").setText("No match");
var f1 = eventInfo.parameter.thirdname;
var f2 = eventInfo.parameter.fourthname;
var f3 = eventInfo.parameter.fifthname;
var f4 = eventInfo.parameter.emailname;
var f1box = app.getElementById("thirdid");
var f2box = app.getElementById("fourthid");
var f3box = app.getElementById("fifthid");
var f4box = app.getElementById("emailid");
var hidden = app.getElementById("hidden");
var data = ss.getRange(2,1,lastrow,6).getValues();// get the 3 columns of data
for(nn=0;nn<data.length;++nn){ ;// iterate trough
if(data[nn].toString().toLowerCase().match(item.toString())==item.toString()&&item!='') {;// if a match is found in one of the 3 fields, break the loop and show results
f1box.setText(data[nn][2]);
f2box.setText(data[nn][3]);
f3box.setText(data[nn][4]);
f4box.setText(data[nn][5]);
app.getElementById("nextid").setEnabled(true).setText("Next");
app.getElementById("txbid").setEnabled(true).setText("Search");
ss.getRange(nn+2,2).activate();
lbl.setText("found from"+data[nn][0]+"-"+data[nn][1]+", click Next").setEnabled(true);
hidden.setValue(nn.toString())
break;}}
return app;
}
function next(eventInfo){
var ss = SpreadsheetApp.openById('1qpx2qZvBriBZ3jkOfHjMpsRbL9w04JZEJMeor11OJC81').getSheetByName("Teaching");
var app = UiApp.getActiveApplication();
var row=ss.getActiveRange().getRowIndex();
var lastrow = ss.getLastRow();
app.getElementById("txbid").setEnabled(true).setText("Search");
var item = eventInfo.parameter.itemname;
var next = app.getElementById("nextid").setText("No match").setEnabled(false);
var pre = app.getElementById("previd").setEnabled(true);
var lbl = app.getElementById("lblid").setText("0 results to display");
var f1 = eventInfo.parameter.thirdname;
var f2 = eventInfo.parameter.fourthname;
var f3 = eventInfo.parameter.fifthname;
var f4 = eventInfo.parameter.emailname;
var f1box = app.getElementById("thirdid").setText("");
var f2box = app.getElementById("fourthid").setText("");
var f3box = app.getElementById("fifthid").setText("");
var f4box = app.getElementById("emailid").setText("");
var start = Number(eventInfo.parameter.hidden)+1;
var hidden = app.getElementById("hidden");
var data = ss.getRange(2,1,lastrow,6).getValues();// get the 3 columns of data
for(nn=start;nn<data.length;++nn){ ;// iterate trough
if(data[nn].toString().toLowerCase().match(item.toString())==item.toString()&&item!='') {;// if a match is found in one of the 3 fields, break the loop and show results
f1box.setText(data[nn][2]);
f2box.setText(data[nn][3]);
f3box.setText(data[nn][4]);
f4box.setText(data[nn][5]);
app.getElementById("previd").setEnabled(true).setText("Previous");
app.getElementById("nextid").setEnabled(true).setText("Next");
app.getElementById("txbid").setEnabled(true).setText("Search");
ss.getRange(nn+2,2).activate();
lbl.setText("found from"+data[nn][0]+"-"+data[nn][1]+", click Next").setEnabled(true);
hidden.setValue(nn.toString())
break;}}
return app;
}
function previous(eventInfo){
var ss = SpreadsheetApp.openById('1qpx2qZvBriBZ3jkOfHjMpsRbL9w04JZEJMeor11OJC81').getSheetByName("Teaching");
var app = UiApp.getActiveApplication();
var row=ss.getActiveRange().getRowIndex();
var lastrow = ss.getLastRow();
app.getElementById("txbid").setEnabled(true).setText("Search");
var item = eventInfo.parameter.itemname;
var next = app.getElementById("nextid").setEnabled(true);
var pre = app.getElementById("previd").setText("No match").setEnabled(false);
var lbl = app.getElementById("lblid").setText("No match");
var f1 = eventInfo.parameter.thirdname;
var f2 = eventInfo.parameter.fourthname;
var f3 = eventInfo.parameter.fifthname;
var f4 = eventInfo.parameter.emailname;
var f1box = app.getElementById("thirdid").setText("");
var f2box = app.getElementById("fourthid").setText("");
var f3box = app.getElementById("fifthid").setText("");
var f4box = app.getElementById("emailid").setText("");
var start = Number(eventInfo.parameter.hidden)-1; var hidden = app.getElementById("hidden"); var data = ss.getRange(2,1,lastrow,6).getValues();// get the 3 columns of data for(nn=start;nn<data.length;--nn){ ;// iterate trough*** if(data[nn].toString().toLowerCase().match(item.toString())==item.toString()&&item!='')
{; //マッチは3つのフィールドのいずれかで検出された場合、ループandshoresultsを f1box.setTextブレーク(データ[NN]を[2])。
f2box.setText(data [nn] [3]);
f3box.setText(data [nn] [4]);f4box.setText(data [nn] [5]);app.getElementById( "previd")。setEnabled(true).setText( "Previous");app.getElementById("nextid").setEnabled(true).setText("Next"); app.getElementById("txbid").setEnabled(true).setText("Search"); ss.getRange(nn+2,2).activate(); lbl.setText("found from"+data[nn][0]+"-"+data[nn][1]+", click Next").setEnabled(true); hidden.setValue(nn.toString()) break;}}
リターンアプリ。 }
でそのミスを犯していないことを確認私はまだエラーを取得することはできませんメソッドを呼び出すことはできません未定義の。私も他のコードを編集する必要がありますか?私は前のボタンの最後の結果になるときに "一致しません"を得るべきです。ありがとう助けてください –
あなたの前の機能のコピーを得ることができますか?私の強調表示されたコードを上記から確認してください...サー・セルジュ。var start = Number(eventInfo.parameter.hidden)-1;または(nn = start; nn
オリジナルのスクリプトを正しいバージョンで見つけることができませんが、必要に応じてスプレッドシートのコピーを(読み取り専用でプライベートデータなしで)共有し、ここにリンクを表示することができます。 –