質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

2314閲覧

getAllowInvalid()の使い方がわからない

zigutabi

総合スコア57

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2019/11/22 04:22

Googleスプレッドシートで使い方の分からないメソッドがあります。

現在、GASを使いデータの入力規則を作る作業を行っております。
そこで、DataValidationクラスにある指定された値以外の入力を規制する'getAllowInvalid()'を使っているのですが、
作成したルールを適応する段階で、設定した値を'true'に上書きしてしまい、コンパイルエラーが生じます。
リファレンス等を調べてみたのですが、具体的な使い方が書いておらず、どのように使うのかがわかりません。どのように使えばよろしいでしょうか。
コードは以下の通りになります。今回のケースは整数値1~100まで制限するものにしております。

GoogleAppsScript

1function myFunc(){ 2 var cell = SpreadsheetApp.getActive().getRange("B2"); 3 var rule = SpreadsheetApp.newDataValidation() 4 .requireNumberBetween(1,100) 5 .getAllowInvalid() 6 .build(); 7 8 cell.setDataValidation(rule); 9} 10

'setAllowInvalid()'は使用することができたのですが、これはデフォルトで表示されるエラーダイアログが編集できないため検証中です。

質問は以上です。
何卒宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

自分も詳しくはないので質問の件名に関して答えます。

getAllowInvalid()は、取得した入力規則の情報のうち、
「無効なデータの場合:」の設定がどうなっているのかを調べる物です。

ルールに違反したら**”警告を表示する”設定がされている場合:true
ルールに違反したら
”入力を否定する”**設定がされている場合:false

GAS

1function TEST(){ 2 var cell = SpreadsheetApp.getActive().getRange("B2"); 3 var rule = cell.getDataValidation(); 4 var log = rule.getAllowInvalid() 5 Logger.log(log) 6

これをみて、実際にセルに入力規則を設定して動作確認してみてください。
なお、入力規則設定自体がない場合は、
TypeError: null のメソッド「getAllowInvalid」を呼び出せません。
となります。

一応このサイトがいろいろ参考になるっぽいのでこちらも見てみてください。
【GAS】スプレッドシートのデータの入力規則機能まとめ【サンプルソース付】


また、自分も実際にやってないのでわかりませんが、
ルール違反に関する設定は
setAllowInvalid(allowInvalidData)
で合ってる様です。

そのうえで、「検証ヘルプテキストを表示:」
を設定するのは「setHelpText(helpText)」
で出来るようです。

投稿2019/11/22 05:18

編集2020/01/07 13:28
takaD

総合スコア315

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問