{"id":355,"date":"2019-09-19T22:08:15","date_gmt":"2019-09-19T13:08:15","guid":{"rendered":"http:\/\/localhost:8000\/?p=355"},"modified":"2021-01-17T22:13:13","modified_gmt":"2021-01-17T13:13:13","slug":"google-apps-script","status":"publish","type":"post","link":"http:\/\/localhost:8000\/2019\/09\/google-apps-script.html","title":{"rendered":"Google Apps Script\uff08GAS\uff09\u306eTips"},"content":{"rendered":"
Google Apps Script\uff08GAS\uff09\u306b\u95a2\u3059\u308bTips\u3092\u66f8\u304d\u305f\u3081\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n
https:\/\/script.google.com\/home\/executions<\/a> 1\u301c\u6700\u5927\u884c\u6570\u307e\u30672\u301c3\u5217\u76ee\u306e\u5024\u3092\u53d6\u5f97\u3059\u308b\u30b1\u30fc\u30b9\u306b\u3064\u3044\u3066\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002 1\u301c4\u884c\u76ee\u306e2\u301c3\u5217\u76ee\u306b\u5024\u3092\u8a2d\u5b9a\u3059\u308b\u30b1\u30fc\u30b9\u306b\u3064\u3044\u3066\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002<\/p>\n UrlFetchApp.fetch API<\/a>\u3092\u5229\u7528\u3057\u307e\u3059\u3002<\/p>\n \u4ee5\u4e0b\u306e\u624b\u9806\u3067\u5272\u308a\u5f53\u3066\u53ef\u80fd\u3067\u3059\u3002<\/p>\n 2020\u5e742\u6708\u306bGAS\u304cV8\u30a8\u30f3\u30b8\u30f3\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u73fe\u5728\u3067\u306f\u65b0\u3057\u304fGAS\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3059\u308b\u3068\u3001V8\u30a8\u30f3\u30b8\u30f3\u304c\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002 \u5909\u6570\u5ba3\u8a00\u306b \u3053\u306e\u51fa\u529b\u7d50\u679c\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n \u3053\u3093\u306a\u72b6\u6cc1\u306a\u306e\u3067\u53e4\u3044GAS\u306eJavaScript\u30a8\u30f3\u30b8\u30f3\u3067\u306f\u3001 \u51fa\u529b\u7d50\u679c\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n V8\u30a8\u30f3\u30b8\u30f3\u3060\u3068\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u6587\u5b57\u5217<\/a>\u3092\u4f7f\u3048\u307e\u3059\u3002 GAS\u306f\u57fa\u672cWEB\u4e0a\u306e\u30a8\u30c7\u30a3\u30bf\u3067\u5b9f\u88c5\u3057\u307e\u3059\u304c\u3001clasp<\/a>\u3068\u3044\u3046CLI\u30c4\u30fc\u30eb\u304c\u767b\u5834\u3057\u305f\u3053\u3068\u3067\u3001\u30ed\u30fc\u30ab\u30eb\u3067\u5b9f\u88c5\u3057\u3066GIT\u306b\u30d7\u30c3\u30b7\u30e5\u3057\u3064\u3064\u3001Google Drive\u306bclasp\u3067\u30c7\u30d7\u30ed\u30a4\u3068\u3044\u3046\u3088\u3046\u306a\u3001\u666e\u901a\u306eWEB\u30a2\u30d7\u30ea\u306e\u958b\u767a\u30b9\u30bf\u30a4\u30eb\u3082\u7c21\u5358\u306b\u5b9f\u73fe\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u307e\u305f\u3001ES6\u3084typescript\u3067\u8a18\u8ff0\u3055\u308c\u305f\u30b3\u30fc\u30c9\u3092\u3001clasp\u3067ES5\u306b\u30c8\u30e9\u30f3\u30b9\u30d1\u30a4\u30eb\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u308b\u307f\u305f\u3044\u306a\u306e\u3067\u3001\u4e0a\u306b\u66f8\u3044\u305f\u3088\u3046\u306aGAS\u7279\u6709\u306e\u4e8b\u60c5\u3092\u6c17\u306b\u3059\u308b\u3088\u308a\u3082\u3001ES6\u306a\u308a\u3067\u66f8\u304f\u306e\u304c\u826f\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n \u3069\u3046\u3084\u3089\u3001\u30b9\u30af\u30ea\u30d7\u30c8\u5b9f\u884c\u6642\u9593\u306f\u3001\u3053\u3061\u3089<\/a>\u3092\u53c2\u7167\u3059\u308b\u3068\u3001Consumer\u3060\u30681\u5b9f\u884c\u3042\u305f\u308a\u6700\u59276\u5206\u307e\u3067\u306e\u3088\u3046\u3067\u3059\u3002G Suite Business\u3060\u306830\u3075\u3093\u307e\u3067\u3067\u3059\u3002 Google Apps Script\uff08GAS\uff09\u306b\u95a2\u3059\u308bTips\u3092\u66f8\u304d\u305f\u3081\u3066\u3044\u304d\u307e\u3059\u3002 \u5b9f\u884c\u4e2d\u306e\u95a2\u6570\u3092\u5f37\u5236\u505c\u6b62\u3059\u308b https:\/\/script.google.com\/home\/executions \u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u3001\u5bfe\u8c61\u306e\u5b9f\u884c\u3092\u30ad\u30e3\u30f3\u30bb\u30eb\u3057\u307e\u3059\u3002 \u30ed\u30b0\u78ba\u8a8d Logger.log()\u3067\u51fa\u529b\u3057\u305f\u30ed\u30b0\u306fstackdriver\u306b\u51fa\u529b\u3055\u308c\u307e\u3059\u304c\u3001 https:\/\/script.google.com\/home\/executions \u304b\u3089\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u304b\u3089\u5024\u3092\u53d6\u5f97\u3059\u308b 1\u301c\u6700\u5927\u884c\u6570\u307e\u30672\u301c3\u5217\u76ee\u306e\u5024\u3092\u53d6\u5f97\u3059\u308b\u30b1\u30fc\u30b9\u306b\u3064\u3044\u3066\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002 \u5bfe\u8c61\u30c7\u30fc\u30bf\u304c\u591a\u3044\u5834\u5408\u306f\u3001getValues()\u3067\u4e8c\u6b21\u5143\u914d\u5217\u3068\u3057\u3066\u4e00\u62ec\u3067\u5024\u3092\u53d6\u5f97\u3059\u308b\u306e\u304c\u9244\u5247\u3067\u3059\u3002 var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spr <\/span>Continue Reading<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[34],"tags":[],"_links":{"self":[{"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/posts\/355"}],"collection":[{"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/comments?post=355"}],"version-history":[{"count":1,"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/posts\/355\/revisions"}],"predecessor-version":[{"id":356,"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/posts\/355\/revisions\/356"}],"wp:attachment":[{"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/media?parent=355"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/categories?post=355"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/tags?post=355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
\n\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u3001\u5bfe\u8c61\u306e\u5b9f\u884c\u3092\u30ad\u30e3\u30f3\u30bb\u30eb\u3057\u307e\u3059\u3002<\/p>\n\u30ed\u30b0\u78ba\u8a8d<\/h2>\n
Logger.log()<\/code>\u3067\u51fa\u529b\u3057\u305f\u30ed\u30b0\u306fstackdriver\u306b\u51fa\u529b\u3055\u308c\u307e\u3059\u304c\u3001
\nhttps:\/\/script.google.com\/home\/executions<\/a>
\n\u304b\u3089\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u304b\u3089\u5024\u3092\u53d6\u5f97\u3059\u308b<\/h2>\n
\n\u5bfe\u8c61\u30c7\u30fc\u30bf\u304c\u591a\u3044\u5834\u5408\u306f\u3001getValues()\u3067\u4e8c\u6b21\u5143\u914d\u5217\u3068\u3057\u3066\u4e00\u62ec\u3067\u5024\u3092\u53d6\u5f97\u3059\u308b\u306e\u304c\u9244\u5247\u3067\u3059\u3002<\/p>\nvar spreadsheet = SpreadsheetApp.getActiveSpreadsheet();\nvar sheet = spreadsheet.getSheetByName('\u30b7\u30fc\u30c81');\nvar lastRownum = sheet.getLastRow();\n\n\/\/ for\u6587\u3067row\u3068column\u6307\u5b9a\u3057\u306a\u304c\u3089\u9010\u6b21\u5024\u3092\u53d6\u5f97\u3059\u308b\u30d1\u30bf\u30fc\u30f3\n\/\/ -> getValue()=1API\u547c\u3073\u51fa\u3057\u306a\u306e\u3067\u3001API\u547c\u3073\u51fa\u3057\u56de\u6570\u304c\u591a\u3059\u304e\u308b\u3068\u30b3\u30b9\u30c8\u304c\u5927\u304d\u3044\nfor (var rownum = 1; rownum <= lastRownum; rownum++) {\n var valueRow2 = sheet.getRange(rownum, 2).getValue();\n var valueRow3 = sheet.getRange(rownum, 3).getValue();\n}\n\n\/\/ range\u3092\u53d6\u5f97\u3057\u3066\u3001\u5024\u3092\u307e\u3068\u3081\u3066\u53d6\u5f97\u3059\u308b\u30d1\u30bf\u30fc\u30f3\n\/\/ -> range\u5185\u306e\u5024\u3092\u4e8c\u6b21\u5143\u914d\u5217\u3068\u3057\u3066\u53d6\u5f97\u3059\u308b\u3002\u5024\u306a\u3057\u3067\u3082""\u304c\u8a2d\u5b9a\u3055\u308c\u308b\u306e\u3067\u3001\u884c\u6570\u30fb\u5217\u6570\u306f\u56fa\u5b9a\u3002\u30b3\u30b9\u30c8\u306f\u5c0f\u3055\u3044\nvar values = sheet.getRange(1, 2, lastRownum, 2).getValues();\n<\/code><\/pre>\n
\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306b\u5024\u3092\u8a2d\u5b9a\u3059\u308b<\/h2>\n
var values = [\n [11, 22],\n [33, 44],\n [55, 66],\n [77, 88],\n];\n\n\/\/ 1\u30bb\u30eb\u305a\u3064\u8a2d\u5b9a\u3059\u308b\u30b1\u30fc\u30b9\nfor (var i = 0; i < values.length; i++) {\n var row = values[i];\n for (var j = 0; j < row.length; j++) {\n var value = row[j];\n sheet.getRange(i + 1, j + 2).setValue(value);\n }\n}\n\n\/\/ \u307e\u3068\u3081\u3066\u8a2d\u5b9a\u3059\u308b\u30b1\u30fc\u30b9\nsheet.getRange(1, 2, 4, 2).setValues(values);<\/code><\/pre>\n
\u5916\u90e8API\u3092\u547c\u3073\u51fa\u3059<\/h2>\n
function main() {\n var name = 'Taro Yamada';\n\n var url = getGooglePatentUrl(name);\n var options = {\n 'muteHttpExceptions': true \/\/ 503\u30a8\u30e9\u30fc\u306a\u3069\u304c\u304a\u304d\u3066\u3082\u3001\u30a8\u30e9\u30fc\u6271\u3044\u306b\u3057\u306a\u3044\n };\n var response = UrlFetchApp.fetch(url, options);\n\n var responseCode = response.getResponseCode();\n var responseBody = response.getContentText();\n var jsonData = JSON.parse(responseBody); \/\/ \u3053\u306eAPI\u306fapplication\/json\u3092\u8fd4\u3059\u306e\u3067json\u30d1\u30fc\u30b9\u3057\u3066\u5229\u7528\u3059\u308b\n\n Logger.log(jsonData.hoge.fuga);\n}\n\n\/\/ Google Patent\u306e\u767a\u660e\u8005\u691c\u7d22API\u306eurl\u3092\u8fd4\u3059\nfunction getGooglePatentUrl(name) {\n normalizedName = name.replace(\/,\/g, '').replace(\/ \/g, '+');\n query = encodeURI('inventor=' + normalizedName);\n return 'https:\/\/patents.google.com\/xhr\/query?url=' + query;\n}\n<\/code><\/pre>\n
\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u4e0a\u306e\u30dc\u30bf\u30f3\u306b\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5272\u308a\u5f53\u3066\u308b<\/h2>\n
\n
\n\u203b\u30c0\u30d6\u30eb\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u56f3\u5f62\u7de8\u96c6\u753b\u9762\u304c\u8868\u793a\u3055\u308c\u307e\u3059<\/li>\n<\/ol>\n\u6700\u7d42\u884c\u3092\u53d6\u5f97<\/h2>\n
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();\n\n\/\/ \u30b7\u30fc\u30c8\u306e\u6700\u5927\u884c\u3092\u53d6\u5f97\nvar rownum = sheet.getMaxRows();\n\n\/\/ \u30b7\u30fc\u30c8\u306e\u4e2d\u3067\u5024\u304c\u5165\u529b\u3055\u308c\u3066\u3044\u308b\u6700\u5927\u884c\u3092\u53d6\u5f97\nvar rownum = sheet.getLastRow();\n\n\/\/ A\u5217\u304c\u7a7a\u767d\u3067\u306a\u3044\u6700\u7d42\u884c\u3092\u53d6\u5f97\uff08\u7a7a\u767d\u3058\u3083\u306a\u3044\u5024\u306e\u6570\u3092\u6570\u3048\u3066\u3044\u308b\u3002\u9014\u4e2d\u306b\u7a7a\u767d\u304c\u3042\u308b\u30b1\u30fc\u30b9\u3067\u306f\u4f7f\u3048\u306a\u3044\u3002\u3067\u3082\u9ad8\u901f\uff09\nvar rownum = sheet.getRange('A:A').getValues().filter(String).length;\n\n\/\/ A\u5217\u3067\u7a7a\u767d\u3067\u306a\u3044\u6700\u7d42\u884c\u3092\u53d6\u5f97\uff08LastRow\u304b\u3089\u9006\u306b\u30c1\u30a7\u30c3\u30af\u3057\u3066\u3044\u304f\u3002\u9014\u4e2d\u306b\u7a7a\u767d\u304c\u3042\u3063\u3066\u3082OK\u3002\u3067\u3082\u4f4e\u901f\uff09\nvar rownum;\nfor (var i = sheet.getLastRow(); i > 0; i--) {\n if (!sheet.getRange(i, 1).isBlank()) {\n rownum = i;\n break;\n }\n}\n<\/code><\/pre>\n
V8\u30a8\u30f3\u30b8\u30f3\u3092\u6709\u52b9\u306b\u3059\u308b<\/h2>\n
\n\u53e4\u3044GAS\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u5834\u5408\u3067\u3082\u3001\u5b9f\u884c\u30bf\u30d6\u304b\u3089\u6709\u52b9\u306b\u3059\u308b\u3060\u3051\u3067\u7c21\u5358\u306bV8\u30a8\u30f3\u30b8\u30f3\u3092\u5229\u7528\u3067\u304d\u307e\u3059\u3002
\n<\/p>\nconst \u3084 let \u306e\u30b9\u30b3\u30fc\u30d7<\/h3>\n
\u53e4\u3044GAS\u306eJavaScript\u30a8\u30f3\u30b8\u30f3\uff08V8\u30a8\u30f3\u30b8\u30f3\u3092\u7121\u52b9\u306b\u3057\u305f\u72b6\u614b\uff09<\/h4>\n
const<\/code>\u3084
let<\/code>\u3082\u4f7f\u3048\u308b\u306e\u3067\u3059\u304c\u3001\u30b9\u30b3\u30fc\u30d7\u304c\u304a\u304b\u3057\u306a\u3053\u3068\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n
function myFunction() {\n for (var i = 1; i <= 2; i++) {\n const constVal = i;\n let :letVal = i;\n Logger.log('for\u30d6\u30ed\u30c3\u30af\u306e\u4e2d: constVal: ' + constVal + ', letVal: ' + letVal);\n }\n Logger.log('for\u30d6\u30ed\u30c3\u30af\u306e\u5916: constVal: ' + constVal + ', letVal: ' + letVal);\n}<\/code><\/pre>\n
[19-09-27 10:16:36:725 JST] for\u30d6\u30ed\u30c3\u30af\u306e\u4e2d: constVal: 1, letVal: 1\n[19-09-27 10:16:36:726 JST] for\u30d6\u30ed\u30c3\u30af\u306e\u4e2d: constVal: 1, letVal: 2\n[19-09-27 10:16:36:727 JST] for\u30d6\u30ed\u30c3\u30af\u306e\u5916: constVal: 1, letVal: 2<\/code><\/pre>\n
\n
const<\/code>\u3084
let<\/code>\u306f\u30d6\u30ed\u30c3\u30af\u30b9\u30b3\u30fc\u30d7\u3092\u671f\u5f85\u3059\u308b\u3068\u601d\u3044\u307e\u3059\u304c\u3001for\u30d6\u30ed\u30c3\u30af\u306e\u5916\u5074\u3067\u53c2\u7167\u3067\u304d\u3066\u3057\u307e\u3063\u3066\u3044\u307e\u3059<\/li>\n
const<\/code>\u3067\u5ba3\u8a00\u3057\u305f
constVal<\/code>\u304c1\u30eb\u30fc\u30d7\u76ee\u306e\u5024\u306e\u307e\u307e\u5909\u66f4\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u307e\u3055\u304b\u305d\u3093\u306a\u52d5\u304d\u3092\u3059\u308b\u3068\u306f\u601d\u308f\u306a\u3044\u306e\u3067\u304b\u306a\u308a\u5371\u967a\u3067\u3059<\/li>\n
let<\/code>\u3067\u5ba3\u8a00\u3059\u308b\u3068\u304d\u306f\u3001\u5909\u6570\u540d\u306e\u524d\u306b
:<\/code>\u3092\u3064\u3051\u306a\u3044\u3068\u3001
\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306e\u524d\u306b ; \u304c\u3042\u308a\u307e\u305b\u3093\u3002<\/code>\u3068\u3044\u3046\u8b0e\u306e\u30a8\u30e9\u30fc\u306b\u306a\u308a\u307e\u3059<\/li>\n
let<\/code>\u3092for\u6587\u306e\u521d\u671f\u5316\u5f0f\u306b\u4f7f\u304a\u3046\u3068\u3059\u308b\u3068
for-loop \u521d\u671f\u5316\u5b50\u306e\u5f8c\u306b ; \u304c\u3042\u308a\u307e\u305b\u3093<\/code>\u3068\u3044\u3046\u8b0e\u306e\u30a8\u30e9\u30fc\u306b\u306a\u308a\u307e\u3059<\/li>\n<\/ul>\n
var<\/code>\u3067\u7d71\u4e00\u3057\u3066\u304a\u3044\u305f\u65b9\u304c\u7121\u96e3\u3060\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n
V8\u30a8\u30f3\u30b8\u30f3<\/h4>\n
const<\/code>\u3084
let<\/code>\u304c\u30d6\u30ed\u30c3\u30af\u30b9\u30b3\u30fc\u30d7\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n
function myFunction() {\n for (let i = 1; i <= 2; i++) {\n const constVal = i;\n let letVal = i;\n Logger.log(`for\u30d6\u30ed\u30c3\u30af\u306e\u4e2d: constVal: ${constVal}, letVal: ${letVal}`);\n }\n Logger.log(`for\u30d6\u30ed\u30c3\u30af\u306e\u5916: constVal: ${constVal}, letVal: ${letVal}`);\n}<\/code><\/pre>\n
[20-06-11 21:35:32:489 JST] for\u30d6\u30ed\u30c3\u30af\u306e\u4e2d: constVal: 1, letVal: 1\n[20-06-11 21:35:32:492 JST] for\u30d6\u30ed\u30c3\u30af\u306e\u4e2d: constVal: 2, letVal: 2\n[20-06-11 21:35:32:498 JST] ReferenceError: constVal is not defined\n at myFunction(\u30b3\u30fc\u30c9:8:60)<\/code><\/pre>\n
\n
const<\/code>\u3067\u5ba3\u8a00\u3057\u305f\u5909\u6570
constVal<\/code>\u306f
ReferenceError: constVal is not defined<\/code>\u3068\u3044\u3046\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3066\u3044\u307e\u3059<\/li>\n
const<\/code>\u3067\u5ba3\u8a00\u3057\u305f\u5909\u6570
constVal<\/code>\u306e\u5024\u304c\u3061\u3083\u3093\u3068\u30eb\u30fc\u30d7\u306e\u305f\u3073\u306b\u5909\u308f\u3063\u3066\u3044\u307e\u3059<\/li>\n<\/ul>\n
\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u6587\u5b57\u5217\u3092\u4f7f\u3063\u3066\u30ed\u30b0\u51fa\u529b<\/h3>\n
\n\u30ed\u30b0\u51fa\u529b\u3059\u308b\u6642\u306b\u5909\u6570\u540d\u3068\u5024\u3092\u30bb\u30c3\u30c8\u3067\u51fa\u529b\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u6587\u5b57\u5217\u306b\u5909\u6570\u3092\u57cb\u3081\u8fbc\u3093\u3067\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\nconst hoge = 'xxxx';\nconst fuga = 'yyyy';\n\n\/\/ \u5358\u7d14\u306a\u57cb\u3081\u8fbc\u307f\nLogger.log(`hoge: ${hoge}, fuga: ${fuga}`);\n\/\/ hoge: xxxx, fuga: yyyy\n\n\/\/ \u6539\u884c\u3082\u3067\u304d\u308b\nLogger.log(`hoge: ${hoge}\nfuga: ${fuga}`);\n\/\/ hoge: xxxx\n\/\/ fuga: yyyy<\/code><\/pre>\n
\u30b3\u30fc\u30c9\u306eGIT\u7ba1\u7406\u3084ES6\/typescript\u3067\u306e\u5b9f\u88c5\u306b\u3080\u3051\u3066<\/h2>\n
\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0<\/h2>\n
"\u8d77\u52d5\u6642\u9593\u306e\u6700\u5927\u5024\u3092\u8d85\u3048\u307e\u3057\u305f"<\/h3>\n
\n\u30b0\u30b0\u308b\u3068\u3001\u30b9\u30af\u30ea\u30d7\u30c8\u30d7\u30ed\u30d1\u30c6\u30a3\uff0b\u30c8\u30ea\u30ac\u30fc\u3092\u4f7f\u3063\u305f\u56de\u907f\u7b56\u306a\u3069\u304c\u898b\u3064\u304b\u308a\u307e\u3059\u3002 <\/p>\n"Exception: \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\uff08xxxxxxxxxx\uff09\u306b\u30a2\u30af\u30bb\u30b9\u4e2d\u306b\u3000\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8 \u306e\u30b5\u30fc\u30d3\u30b9\u306b\u63a5\u7d9a\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002"<\/h3>\n
SpreadsheetApp.openByUrl()<\/code>\u3084
SpreadsheetApp.openById()<\/code>\u3067\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3067\u306f\u306a\u304fExcel\u3092\u958b\u3053\u3046\u3068\u3057\u305f\u5834\u5408\u306b\u767a\u751f\u3057\u307e\u3059\u3002Excel\u3060\u3068\u6c17\u3065\u304b\u305a\u306bOpen\u3057\u3088\u3046\u3068\u3057\u3066\u3001\u3057\u3070\u3089\u304f\u6c17\u3065\u304b\u305a\u306b\u60a9\u307f\u307e\u3057\u305fww<\/p>\n","protected":false},"excerpt":{"rendered":"