0

これが何度も議論されていることは知っていますが、テーブルに配置されたテキストボックスの値を取得できません。テキストボックス (e.parameter.textBoxName) の値を取得する方法は知っていますが、通常は問題なく動作しています。

唯一の違いは、5 つのタブを含むガジェットがあり、それぞれに紹介テキストと表があることです。各テーブルには約 30 行が含まれ、それぞれに 2 つのテキスト ボックスと、特定の行の 2 つのテキスト ボックスの値をスプレッドシートに送信するためのボタンがあります。すべてが正常に機能し、すべての名前 (および ID も) は一意ですが、問題は、テキスト ボックスを送信すると、(スプレッドシートで)「未定義」になることです。

問題はスクリプトの複雑さのどこかにあると思います。

function buttonClick(e) {
    var app = UiApp.getActiveApplication();
    var theValue = e.parameter.textBoxName;
    ...something...
}

..それがどのテキストボックスであるかを定義するだけでは十分ではありません。ただし、問題なくボタンIDを取得しています

var buttId = new String(e.parameter.source);

私は何の結果もなく、数日間これを回避しようとしています。私はGASが苦手で、客観的プログラミングに関しては完全にアウトです。この値を取得する方法はありますか? それが役立つ場合は、テーブルの ID を取得できますが、何を使用すればよいでしょうか?

事前にどうもありがとうございました!

編集:テキストボックスに .addCallbackElement(textbox) を試しました-エラーが発生しました。.addCallbackElement(button) と一緒に送信ボタンに .addCallbackElement(textbox) を試してみましたが、まだ「未定義」になっています。

4

1 に答える 1

0

callbackElement は、ウィジェットやボタンではなく、 handler に追加する必要があります。

正しく実行するための最も簡単な (そして最も安全な) 方法は、最高レベルの親を callbackElement として選択することです。

あなたの場合、それはおそらくタブパネルか、最終的には5つのタブを含む別のパネルになるでしょう。

また、問題を引き起こすことなく、同じUIに実際に多くのウィジェットが存在する可能性があることにも注意してください.問題なく動作する約200個のテキストボックスを持つアプリがあり、制限を認識していないか、制限が存在するかどうかさえわかりません.. .

于 2013-07-17T18:50:35.823 に答える