{"id":5749,"date":"2023-05-16T16:38:02","date_gmt":"2023-05-16T07:38:02","guid":{"rendered":"https:\/\/okamurax.com\/?p=5749"},"modified":"2023-05-16T16:38:02","modified_gmt":"2023-05-16T07:38:02","slug":"google-apps-script-%e3%83%95%e3%82%a3%e3%83%ab%e3%82%bf%e8%a8%ad%e5%ae%9a","status":"publish","type":"post","link":"https:\/\/appbay.org\/?p=5749","title":{"rendered":"Google Apps Script \u30d5\u30a3\u30eb\u30bf\u8a2d\u5b9a"},"content":{"rendered":"<pre class=\"lang:js decode:true \">function onEdit(e) {\r\n\r\n  \/\/ \u30bb\u30eb\u306e\u7de8\u96c6\u30a4\u30d9\u30f3\u30c8\u3067\u767a\u706b\u3055\u305b\u308b\u5834\u5408\r\n\r\n  return;\r\n\r\n  let r = e.range.getRow();\r\n  let c = e.range.getColumn();\r\n\r\n  if (r == 2 &amp;&amp; (c == 2 || c == 3)) {\r\n    setFilter();\r\n\r\n    \/\/ toast\u8868\u793a\u3059\u308b\u5834\u5408\r\n\r\n    SpreadsheetApp.getActiveSpreadsheet().toast(\"\u30d5\u30a3\u30eb\u30bf\u8a2d\u5b9a\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002\",\"\");\r\n  }\r\n}\r\n\r\n\r\nfunction clearFilter() {\r\n\r\n  let s = SpreadsheetApp.getActiveSheet();\r\n\r\n  let f = s.getFilter();\r\n  if (f) f.remove();\r\n  \r\n}\r\n\r\nfunction setFilter() {\r\n\r\n  let s = SpreadsheetApp.getActiveSheet();\r\n\r\n  let f = s.getFilter();\r\n  if (f) f.remove();\r\n\r\n  let v1 = s.getRange(\"B2\").getValue();\r\n  let v2 = s.getRange(\"C2\").getValue();\r\n\r\n  if (v1 == \"\" &amp;&amp; v2 == \"\") return;\r\n  \r\n  f = s.getRange(\"B5:H\" + s.getLastRow()).createFilter();\r\n\r\n  let lock = LockService.getDocumentLock();\r\n\r\n  try {\r\n\r\n    lock.waitLock(10000)\r\n\r\n    if (v1 != \"\") f.setColumnFilterCriteria(2, SpreadsheetApp.newFilterCriteria().whenTextContains(v1).build());\r\n    if (v2 != \"\") f.setColumnFilterCriteria(3, SpreadsheetApp.newFilterCriteria().whenTextContains(v2).build());\r\n\r\n  } finally {\r\n\r\n    lock.releaseLock();\r\n\r\n  }\r\n}\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>function onEdit(e) { \/\/ \u30bb\u30eb\u306e\u7de8\u96c6\u30a4\u30d9\u30f3\u30c8\u3067\u767a\u706b\u3055\u305b\u308b\u5834\u5408 return; let r = e.range.getRow(); let c = e.range.getColumn(); if (r &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/appbay.org\/?p=5749\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;Google Apps Script \u30d5\u30a3\u30eb\u30bf\u8a2d\u5b9a&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5749","post","type-post","status-publish","format-standard","hentry","category-1"],"_links":{"self":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/5749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5749"}],"version-history":[{"count":1,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/5749\/revisions"}],"predecessor-version":[{"id":5750,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/5749\/revisions\/5750"}],"wp:attachment":[{"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}