GAS match関数の括弧の中で、検索するシートとセルを指定したい

実現したいこと

GASで書類管理のスクリプトを作成しています。
社内規定に合わせて、指定の使用NG文字が含まれる入力があったら、アラートを出したいです。

前提

シート1のB列に書類の名前を入力したら、
シート2のA2:A300に入力した使用NG文字一覧を検索して、
1つでも含んでいるものがあれば警告を出すイメージです。

以前こちらで質問させていただき、onEditで組んでみました。

発生している問題・エラーメッセージ

コードとしては合っていると思うのですが(match関数の中をテキストで指定すると正常に作動する)、
match関数のカッコの中の正しい表記の仕方がわかりません。
Excel風に書いてみましたが動きませんでした。

if (value.match( !シート2A2:A300 )) {

該当のソースコード

function onEdit(e) {   const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();   const sheet = spreadSheet.getSheetByName('シート1');   const nameList = sheet.getRange('B2:B').getValues().flat(); const value = e.range.getValue(); const cell = e.range.getA1Notation(); if (value.match( !シート2 A2:A300 )) { const ui = SpreadsheetApp.getUi(); ui.alert(cell + '使用できない文字あり'); } }

試したこと

正規表現をいくつか調べてみましたが、
セル範囲を指定する表記の仕方がわからず、教えていただきたいです。

※関数については、replaceを入れたりrequireTextContainsを入れたりと色々やってみましたが、いまのものが一番シンプルで欲しい情報が手に入ると思いました。

コメントを投稿

0 コメント