2017-06-10 3 views
0

GoogleのシートはJavaScriptと同じように新しいものです。私は多くのGoogleの例を読んだ。私はそれらを追いかけようとしましたが、成功しませんでした。ダイアログプロンプトから値を渡してスプレッドシートを更新する

私は息子の余裕と支出を追跡するために使用するスプレッドシートを持っています。私はそれを自動的に彼の毎週の手当に値をつけることができました。私はこの「大学」口座に資金を移すことができますが、プロンプト機能が働き、これらの2つの機能は単一のパラメータしか必要としません。今私は3つのそのようなパラメータが必要で、私は単純なプロンプトを超えて分岐する必要があります。

私が従う例に応じて、送信ボタンがクリックされるとダイアログが閉じます。この反復では発生しませんが、insertGameを呼び出すことはありません。すべての助けが大歓迎です。しかし、私はスクリプトの初心者であることを知っているので、ほとんどの場合より多くの説明が必要です。


Code.gs

function BuyAGame_() 
{ 
    var html = HtmlService.createHtmlOutputFromFile('GamePurchase') 
     .setWidth(400) 
     .setHeight(300); 
    SpreadsheetApp.getUi() // Or DocumentApp or FormApp. 
     .showModalDialog(html, 'My custom dialog'); 
} 

function insertGame(form){ 
    var Value = form.Price; 
    if(form.Refund) 
    Value = Value * -1; 
    InsertNewTransactionOnDemandAccount(new Date(), Value, form.Name, 'normal', 'italic', "Game", null); 
} 

GamePurchase.html

<script> 
function Close() 
{ 
    google.script.run.insertGame(document.getElementById('myForm')); 
    google.script.host.close(); 
} 
</script> 
<form id="myForm" onsubmit="handleFormSubmit(this)"> 
    Game Name:<input type="text" name="Name"><br> 
    Game Price:<input type="text" name="Price"><br> 
    Is this a refund?<input type="checkbox" name="Refund" value="Refund"><br> 
    <input type="submit" value="Submit" onclick="Close()" /> 
</form> 

答えて

0

答えが閉じる関数です()。その関数から、code.gsファイル内のhandling関数を直接呼び出してください。フォームオブジェクト、または本当に何かを返すことができます。次に、.host.close()を呼び出してhtmlダイアログを閉じます。

google.script.ru、

function Close() 
{ 
    google.script.run.insertGame(document.getElementById('myForm')); 
    google.script.host.close(); 
} 
関連する問題