実現したいこと
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 コメント