2016-11-28 26 views
1

私はGoogle Apps Scriptプログラミングの冒頭にありますが、私は実際に問題を抱えています。私は昨日すべてこれを解決しようと過ごしましたが、私はサークルに入っています。Google Appsのスクリプト機能はライブラリ経由で実装されていると機能しません

Googleドキュメントにバインドされたスクリプトを作成しました。カスタムメニューから、私は必要な情報を収集するhtmlフォームを呼び出します。

function initiateInvoice() { 
    var html = HtmlService.createHtmlOutputFromFile('askQu.html') 
    .setWidth(800) 
    .setHeight(500); 
    DocumentApp.getUi() 
    .showModalDialog(html, 'Daten Eingabe'); 
} 

このフォームには、「送信」ボタンと「終了」ボタンがあります。

<input class="action" onclick="formSubmit()" type="button" value="Submit" /> 
<input onclick="google.script.host.close()" type="button" value="Exit" /> 

ボタンを押すと、「提出」するときと呼ばれるスクリプトは

<script type="text/javascript"> 
    function formSubmit() { 
    google.script.run.getValuesFromForm(document.forms[0]); 
    google.script.host.close(); 
    } 
</script> 

getValuesFromFormは、私がやっている必要なものを行う機能です。そして、htmlフォームが閉じられます。何が起こるかは、いくつかの計算です。次に、プレースホルダをテキストまたは数字に置き換えます。私はこれが関連しているとは思わないが、必要に応じて必要なコードを提供できる。

これは私が期待していたとおりに機能します。

今はすべてのコードとHTMLを余分なライブラリに移動しました(カスタムメニューの呼び出しを除く)。カスタムメニューから呼び出されたときにフォームが表示されますが、フォームの送信ボタンにはこれ以上機能がありません。 「終了」ボタンは引き続き機能します。私は何も何もしないように呼び出された関数からすべてを取り除こうとしましたが(呼び出されず、ハングアップしていないことを確認するために)、これは助けになりません。

フォームのjavascriptが機能していないか、関数getValuesFromFormに到達していないと思いますが、どこを見ているのか、何をすべきかわかりません。

本当に助けてもらえますか?ありがとうございました。ありがとうございました。 バイエルンアルプスのご挨拶。

ニール

答えて

2

google.script.runだけ同じプロジェクトで.GSファイルから、ライブラリから関数を実行することはできません。

ライブラリにあなたのロジックのコードを持っている必要がある場合は、関連するライブラリ関数を呼び出すために、ローカル.GSファイル内の関数を作成する必要があります、そしてあなたがgoogle.script.run

+0

で呼び出すことができますこれらのローカル機能はいただきありがとうございます明確かつ有益な答え。私は24時間前に尋ねて、灰色の毛を救うべきだった。たぶんこれはどこかに書かれていますが、私はそれを見つけることができませんでした。あるいは、私が理解できなかった方法で文書化されています。 –

+0

[こちら](https://developers.google.com/apps-script/guides/html/communication#private_functions):「google.script」_もライブラリ内の機能を見ることができません_ – etuardu

関連する問題